YES 26.035 H-Termination proof of /home/matraf/haskell/eval_FullyBlown_Fast/FiniteMap.hs
H-Termination of the given Haskell-Program with start terms could successfully be proven:



HASKELL
  ↳ LR

mainModule FiniteMap
  ((plusFM :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a) :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord b => FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM fm key elt addToFM_C (\old new ->new) fm key elt

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  emptyFM :: FiniteMap b a
emptyFM EmptyFM

  findMax :: FiniteMap a b  ->  (a,b)
findMax (Branch key elt _ _ EmptyFM(key,elt)
findMax (Branch key elt _ _ fm_rfindMax fm_r

  findMin :: FiniteMap a b  ->  (a,b)
findMin (Branch key elt _ EmptyFM _) (key,elt)
findMin (Branch key elt _ fm_l _) findMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM (\key elt rest ->(key,elt: rest) [] fm

  foldFM :: (b  ->  a  ->  c  ->  c ->  c  ->  FiniteMap b a  ->  c
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  mkBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
case fm_R of
  Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr -> 
single_L fm_L fm_R
 | otherwise -> 
double_L fm_L fm_R
 | size_l > sIZE_RATIO * size_r = 
case fm_L of
  Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll -> 
single_R fm_L fm_R
 | otherwise -> 
double_R fm_L fm_R
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
single_L fm_l (Branch key_r elt_r _ fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l _ fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok 
case fm_l of
  EmptyFM-> True
  Branch left_key _ _ _ _-> 
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok 
case fm_r of
  EmptyFM-> True
  Branch right_key _ _ _ _-> 
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r)
 | otherwise = 
mkBranch 13 key elt fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  plusFM :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
plusFM EmptyFM fm2 fm2
plusFM fm1 EmptyFM fm1
plusFM fm1 (Branch split_key elt1 _ left right
mkVBalBranch split_key elt1 (plusFM lts left) (plusFM gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size

  splitGT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Lambda Reductions:
The following Lambda expression
\keyeltrest→(key,elt: rest

is transformed to
fmToList0 key elt rest = (key,elt: rest

The following Lambda expression
\oldnewnew

is transformed to
addToFM0 old new = new



↳ HASKELL
  ↳ LR
HASKELL
      ↳ CR

mainModule FiniteMap
  ((plusFM :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a) :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord b => FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  emptyFM :: FiniteMap a b
emptyFM EmptyFM

  findMax :: FiniteMap b a  ->  (b,a)
findMax (Branch key elt _ _ EmptyFM(key,elt)
findMax (Branch key elt _ _ fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt _ EmptyFM _) (key,elt)
findMin (Branch key elt _ fm_l _) findMin fm_l

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  a  ->  b  ->  b ->  b  ->  FiniteMap c a  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  mkBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
case fm_R of
  Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr -> 
single_L fm_L fm_R
 | otherwise -> 
double_L fm_L fm_R
 | size_l > sIZE_RATIO * size_r = 
case fm_L of
  Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll -> 
single_R fm_L fm_R
 | otherwise -> 
double_R fm_L fm_R
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
single_L fm_l (Branch key_r elt_r _ fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l _ fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok 
case fm_l of
  EmptyFM-> True
  Branch left_key _ _ _ _-> 
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok 
case fm_r of
  EmptyFM-> True
  Branch right_key _ _ _ _-> 
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r)
 | otherwise = 
mkBranch 13 key elt fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  plusFM :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
plusFM EmptyFM fm2 fm2
plusFM fm1 EmptyFM fm1
plusFM fm1 (Branch split_key elt1 _ left right
mkVBalBranch split_key elt1 (plusFM lts left) (plusFM gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Case Reductions:
The following Case expression
case fm_l of
 EmptyFM → True
 Branch left_key _ _ _ _ → 
let 
biggest_left_key  = fst (findMax fm_l)
in biggest_left_key < key

is transformed to
left_ok0 fm_l key EmptyFM = True
left_ok0 fm_l key (Branch left_key _ _ _ _) = 
let 
biggest_left_key  = fst (findMax fm_l)
in biggest_left_key < key

The following Case expression
case fm_r of
 EmptyFM → True
 Branch right_key _ _ _ _ → 
let 
smallest_right_key  = fst (findMin fm_r)
in key < smallest_right_key

is transformed to
right_ok0 fm_r key EmptyFM = True
right_ok0 fm_r key (Branch right_key _ _ _ _) = 
let 
smallest_right_key  = fst (findMin fm_r)
in key < smallest_right_key

The following Case expression
case fm_R of
 Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr
 → single_L fm_L fm_R
 | otherwise
 → double_L fm_L fm_R

is transformed to
mkBalBranch0 fm_L fm_R (Branch _ _ _ fm_rl fm_rr)
 | sizeFM fm_rl < 2 * sizeFM fm_rr
 = single_L fm_L fm_R
 | otherwise
 = double_L fm_L fm_R

The following Case expression
case fm_L of
 Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll
 → single_R fm_L fm_R
 | otherwise
 → double_R fm_L fm_R

is transformed to
mkBalBranch1 fm_L fm_R (Branch _ _ _ fm_ll fm_lr)
 | sizeFM fm_lr < 2 * sizeFM fm_ll
 = single_R fm_L fm_R
 | otherwise
 = double_R fm_L fm_R

The following Case expression
case compare x y of
 EQ → o
 LT → LT
 GT → GT

is transformed to
primCompAux0 o EQ = o
primCompAux0 o LT = LT
primCompAux0 o GT = GT



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
HASKELL
          ↳ IFR

mainModule FiniteMap
  ((plusFM :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a) :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord a => FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  emptyFM :: FiniteMap b a
emptyFM EmptyFM

  findMax :: FiniteMap b a  ->  (b,a)
findMax (Branch key elt _ _ EmptyFM(key,elt)
findMax (Branch key elt _ _ fm_rfindMax fm_r

  findMin :: FiniteMap a b  ->  (a,b)
findMin (Branch key elt _ EmptyFM _) (key,elt)
findMin (Branch key elt _ fm_l _) findMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (a  ->  c  ->  b  ->  b ->  b  ->  FiniteMap a c  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  mkBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
mkBalBranch0 fm_L fm_R fm_R
 | size_l > sIZE_RATIO * size_r = 
mkBalBranch1 fm_L fm_R fm_L
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr = 
single_L fm_L fm_R
 | otherwise = 
double_L fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll = 
single_R fm_L fm_R
 | otherwise = 
double_R fm_L fm_R
single_L fm_l (Branch key_r elt_r _ fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l _ fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord b => Int  ->  b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM True
left_ok0 fm_l key (Branch left_key _ _ _ _) 
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM True
right_ok0 fm_r key (Branch right_key _ _ _ _) 
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r)
 | otherwise = 
mkBranch 13 key elt fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  plusFM :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
plusFM EmptyFM fm2 fm2
plusFM fm1 EmptyFM fm1
plusFM fm1 (Branch split_key elt1 _ left right
mkVBalBranch split_key elt1 (plusFM lts left) (plusFM gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: b  ->  a  ->  FiniteMap b a
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



If Reductions:
The following If expression
if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero

is transformed to
primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y))
primDivNatS0 x y False = Zero

The following If expression
if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x

is transformed to
primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y)
primModNatS0 x y False = Succ x



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
HASKELL
              ↳ BR

mainModule FiniteMap
  ((plusFM :: Ord a => FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b) :: Ord a => FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord a => FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  emptyFM :: FiniteMap b a
emptyFM EmptyFM

  findMax :: FiniteMap b a  ->  (b,a)
findMax (Branch key elt _ _ EmptyFM(key,elt)
findMax (Branch key elt _ _ fm_rfindMax fm_r

  findMin :: FiniteMap a b  ->  (a,b)
findMin (Branch key elt _ EmptyFM _) (key,elt)
findMin (Branch key elt _ fm_l _) findMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  b  ->  a  ->  a ->  a  ->  FiniteMap c b  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  mkBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
mkBalBranch0 fm_L fm_R fm_R
 | size_l > sIZE_RATIO * size_r = 
mkBalBranch1 fm_L fm_R fm_L
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr = 
single_L fm_L fm_R
 | otherwise = 
double_L fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll = 
single_R fm_L fm_R
 | otherwise = 
double_R fm_L fm_R
single_L fm_l (Branch key_r elt_r _ fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l _ fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord b => Int  ->  b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM True
left_ok0 fm_l key (Branch left_key _ _ _ _) 
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM True
right_ok0 fm_r key (Branch right_key _ _ _ _) 
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r)
 | otherwise = 
mkBranch 13 key elt fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  plusFM :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
plusFM EmptyFM fm2 fm2
plusFM fm1 EmptyFM fm1
plusFM fm1 (Branch split_key elt1 _ left right
mkVBalBranch split_key elt1 (plusFM lts left) (plusFM gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size

  splitGT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Replaced joker patterns by fresh variables and removed binding patterns.
Binding Reductions:
The bind variable of the following binding Pattern
fm_l@(Branch yz zu zv zw zx)

is replaced by the following term
Branch yz zu zv zw zx

The bind variable of the following binding Pattern
fm_r@(Branch zz vuu vuv vuw vux)

is replaced by the following term
Branch zz vuu vuv vuw vux



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
HASKELL
                  ↳ COR

mainModule FiniteMap
  ((plusFM :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a) :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord a => FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  emptyFM :: FiniteMap a b
emptyFM EmptyFM

  findMax :: FiniteMap a b  ->  (a,b)
findMax (Branch key elt vwy vwz EmptyFM(key,elt)
findMax (Branch key elt vxu vxv fm_rfindMax fm_r

  findMin :: FiniteMap a b  ->  (a,b)
findMin (Branch key elt wz EmptyFM xu(key,elt)
findMin (Branch key elt xv fm_l xwfindMin fm_l

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (a  ->  b  ->  c  ->  c ->  c  ->  FiniteMap a b  ->  c
foldFM k z EmptyFM z
foldFM k z (Branch key elt wy fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  mkBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
mkBalBranch0 fm_L fm_R fm_R
 | size_l > sIZE_RATIO * size_r = 
mkBalBranch1 fm_L fm_R fm_L
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r vvy (Branch key_rl elt_rl vvz fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuz fm_ll (Branch key_lr elt_lr vvu fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vwu vwv vww fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr = 
single_L fm_L fm_R
 | otherwise = 
double_L fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll = 
single_R fm_L fm_R
 | otherwise = 
double_R fm_L fm_R
single_L fm_l (Branch key_r elt_r vwx fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l vuy fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM True
left_ok0 fm_l key (Branch left_key vw vx vy vz
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM True
right_ok0 fm_r key (Branch right_key wu wv ww wx
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt (Branch yz zu zv zw zx) (Branch zz vuu vuv vuw vux
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch zz vuu (mkVBalBranch key elt (Branch yz zu zv zw zx) vuw) vux
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch yz zu zw (mkVBalBranch key elt zx (Branch zz vuu vuv vuw vux))
 | otherwise = 
mkBranch 13 key elt (Branch yz zu zv zw zx) (Branch zz vuu vuv vuw vux) where 
size_l sizeFM (Branch yz zu zv zw zx)
size_r sizeFM (Branch zz vuu vuv vuw vux)

  plusFM :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
plusFM EmptyFM fm2 fm2
plusFM fm1 EmptyFM fm1
plusFM fm1 (Branch split_key elt1 yx left right
mkVBalBranch split_key elt1 (plusFM lts left) (plusFM gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch xz yu size yv ywsize

  splitGT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt xy fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt xx fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Cond Reductions:
The following Function with conditions
splitLT EmptyFM split_key = emptyFM
splitLT (Branch key elt xx fm_l fm_rsplit_key
 | split_key < key
 = splitLT fm_l split_key
 | split_key > key
 = mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise
 = fm_l

is transformed to
splitLT EmptyFM split_key = splitLT4 EmptyFM split_key
splitLT (Branch key elt xx fm_l fm_rsplit_key = splitLT3 (Branch key elt xx fm_l fm_rsplit_key

splitLT0 key elt xx fm_l fm_r split_key True = fm_l

splitLT1 key elt xx fm_l fm_r split_key True = mkVBalBranch key elt fm_l (splitLT fm_r split_key)
splitLT1 key elt xx fm_l fm_r split_key False = splitLT0 key elt xx fm_l fm_r split_key otherwise

splitLT2 key elt xx fm_l fm_r split_key True = splitLT fm_l split_key
splitLT2 key elt xx fm_l fm_r split_key False = splitLT1 key elt xx fm_l fm_r split_key (split_key > key)

splitLT3 (Branch key elt xx fm_l fm_rsplit_key = splitLT2 key elt xx fm_l fm_r split_key (split_key < key)

splitLT4 EmptyFM split_key = emptyFM
splitLT4 wwv www = splitLT3 wwv www

The following Function with conditions
splitGT EmptyFM split_key = emptyFM
splitGT (Branch key elt xy fm_l fm_rsplit_key
 | split_key > key
 = splitGT fm_r split_key
 | split_key < key
 = mkVBalBranch key elt (splitGT fm_l split_keyfm_r
 | otherwise
 = fm_r

is transformed to
splitGT EmptyFM split_key = splitGT4 EmptyFM split_key
splitGT (Branch key elt xy fm_l fm_rsplit_key = splitGT3 (Branch key elt xy fm_l fm_rsplit_key

splitGT1 key elt xy fm_l fm_r split_key True = mkVBalBranch key elt (splitGT fm_l split_keyfm_r
splitGT1 key elt xy fm_l fm_r split_key False = splitGT0 key elt xy fm_l fm_r split_key otherwise

splitGT2 key elt xy fm_l fm_r split_key True = splitGT fm_r split_key
splitGT2 key elt xy fm_l fm_r split_key False = splitGT1 key elt xy fm_l fm_r split_key (split_key < key)

splitGT0 key elt xy fm_l fm_r split_key True = fm_r

splitGT3 (Branch key elt xy fm_l fm_rsplit_key = splitGT2 key elt xy fm_l fm_r split_key (split_key > key)

splitGT4 EmptyFM split_key = emptyFM
splitGT4 wwz wxu = splitGT3 wwz wxu

The following Function with conditions
mkVBalBranch key elt EmptyFM fm_r = addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM = addToFM fm_l key elt
mkVBalBranch key elt (Branch yz zu zv zw zx) (Branch zz vuu vuv vuw vux)
 | sIZE_RATIO * size_l < size_r
 = mkBalBranch zz vuu (mkVBalBranch key elt (Branch yz zu zv zw zxvuwvux
 | sIZE_RATIO * size_r < size_l
 = mkBalBranch yz zu zw (mkVBalBranch key elt zx (Branch zz vuu vuv vuw vux))
 | otherwise
 = mkBranch 13 key elt (Branch yz zu zv zw zx) (Branch zz vuu vuv vuw vux)
where 
size_l  = sizeFM (Branch yz zu zv zw zx)
size_r  = sizeFM (Branch zz vuu vuv vuw vux)

is transformed to
mkVBalBranch key elt EmptyFM fm_r = mkVBalBranch5 key elt EmptyFM fm_r
mkVBalBranch key elt fm_l EmptyFM = mkVBalBranch4 key elt fm_l EmptyFM
mkVBalBranch key elt (Branch yz zu zv zw zx) (Branch zz vuu vuv vuw vux) = mkVBalBranch3 key elt (Branch yz zu zv zw zx) (Branch zz vuu vuv vuw vux)

mkVBalBranch3 key elt (Branch yz zu zv zw zx) (Branch zz vuu vuv vuw vux) = 
mkVBalBranch2 key elt yz zu zv zw zx zz vuu vuv vuw vux (sIZE_RATIO * size_l < size_r)
where 
mkVBalBranch0 key elt yz zu zv zw zx zz vuu vuv vuw vux True = mkBranch 13 key elt (Branch yz zu zv zw zx) (Branch zz vuu vuv vuw vux)
mkVBalBranch1 key elt yz zu zv zw zx zz vuu vuv vuw vux True = mkBalBranch yz zu zw (mkVBalBranch key elt zx (Branch zz vuu vuv vuw vux))
mkVBalBranch1 key elt yz zu zv zw zx zz vuu vuv vuw vux False = mkVBalBranch0 key elt yz zu zv zw zx zz vuu vuv vuw vux otherwise
mkVBalBranch2 key elt yz zu zv zw zx zz vuu vuv vuw vux True = mkBalBranch zz vuu (mkVBalBranch key elt (Branch yz zu zv zw zxvuwvux
mkVBalBranch2 key elt yz zu zv zw zx zz vuu vuv vuw vux False = mkVBalBranch1 key elt yz zu zv zw zx zz vuu vuv vuw vux (sIZE_RATIO * size_r < size_l)
size_l  = sizeFM (Branch yz zu zv zw zx)
size_r  = sizeFM (Branch zz vuu vuv vuw vux)

mkVBalBranch4 key elt fm_l EmptyFM = addToFM fm_l key elt
mkVBalBranch4 wxy wxz wyu wyv = mkVBalBranch3 wxy wxz wyu wyv

mkVBalBranch5 key elt EmptyFM fm_r = addToFM fm_r key elt
mkVBalBranch5 wyx wyy wyz wzu = mkVBalBranch4 wyx wyy wyz wzu

The following Function with conditions
mkBalBranch1 fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lr)
 | sizeFM fm_lr < 2 * sizeFM fm_ll
 = single_R fm_L fm_R
 | otherwise
 = double_R fm_L fm_R

is transformed to
mkBalBranch1 fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lr) = mkBalBranch12 fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lr)

mkBalBranch11 fm_L fm_R vvv vvw vvx fm_ll fm_lr True = single_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvv vvw vvx fm_ll fm_lr False = mkBalBranch10 fm_L fm_R vvv vvw vvx fm_ll fm_lr otherwise

mkBalBranch10 fm_L fm_R vvv vvw vvx fm_ll fm_lr True = double_R fm_L fm_R

mkBalBranch12 fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lr) = mkBalBranch11 fm_L fm_R vvv vvw vvx fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)

The following Function with conditions
mkBalBranch0 fm_L fm_R (Branch vwu vwv vww fm_rl fm_rr)
 | sizeFM fm_rl < 2 * sizeFM fm_rr
 = single_L fm_L fm_R
 | otherwise
 = double_L fm_L fm_R

is transformed to
mkBalBranch0 fm_L fm_R (Branch vwu vwv vww fm_rl fm_rr) = mkBalBranch02 fm_L fm_R (Branch vwu vwv vww fm_rl fm_rr)

mkBalBranch00 fm_L fm_R vwu vwv vww fm_rl fm_rr True = double_L fm_L fm_R

mkBalBranch01 fm_L fm_R vwu vwv vww fm_rl fm_rr True = single_L fm_L fm_R
mkBalBranch01 fm_L fm_R vwu vwv vww fm_rl fm_rr False = mkBalBranch00 fm_L fm_R vwu vwv vww fm_rl fm_rr otherwise

mkBalBranch02 fm_L fm_R (Branch vwu vwv vww fm_rl fm_rr) = mkBalBranch01 fm_L fm_R vwu vwv vww fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)

The following Function with conditions
mkBalBranch key elt fm_L fm_R
 | size_l + size_r < 2
 = mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l
 = mkBalBranch0 fm_L fm_R fm_R
 | size_l > sIZE_RATIO * size_r
 = mkBalBranch1 fm_L fm_R fm_L
 | otherwise
 = mkBranch 2 key elt fm_L fm_R
where 
double_L fm_l (Branch key_r elt_r vvy (Branch key_rl elt_rl vvz fm_rll fm_rlrfm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuz fm_ll (Branch key_lr elt_lr vvu fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vwu vwv vww fm_rl fm_rr)
 | sizeFM fm_rl < 2 * sizeFM fm_rr
 = single_L fm_L fm_R
 | otherwise
 = double_L fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lr)
 | sizeFM fm_lr < 2 * sizeFM fm_ll
 = single_R fm_L fm_R
 | otherwise
 = double_R fm_L fm_R
single_L fm_l (Branch key_r elt_r vwx fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rlfm_rr
single_R (Branch key_l elt_l vuy fm_ll fm_lrfm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l  = sizeFM fm_L
size_r  = sizeFM fm_R

is transformed to
mkBalBranch key elt fm_L fm_R = mkBalBranch6 key elt fm_L fm_R

mkBalBranch6 key elt fm_L fm_R = 
mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2)
where 
double_L fm_l (Branch key_r elt_r vvy (Branch key_rl elt_rl vvz fm_rll fm_rlrfm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuz fm_ll (Branch key_lr elt_lr vvu fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vwu vwv vww fm_rl fm_rr) = mkBalBranch02 fm_L fm_R (Branch vwu vwv vww fm_rl fm_rr)
mkBalBranch00 fm_L fm_R vwu vwv vww fm_rl fm_rr True = double_L fm_L fm_R
mkBalBranch01 fm_L fm_R vwu vwv vww fm_rl fm_rr True = single_L fm_L fm_R
mkBalBranch01 fm_L fm_R vwu vwv vww fm_rl fm_rr False = mkBalBranch00 fm_L fm_R vwu vwv vww fm_rl fm_rr otherwise
mkBalBranch02 fm_L fm_R (Branch vwu vwv vww fm_rl fm_rr) = mkBalBranch01 fm_L fm_R vwu vwv vww fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)
mkBalBranch1 fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lr) = mkBalBranch12 fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lr)
mkBalBranch10 fm_L fm_R vvv vvw vvx fm_ll fm_lr True = double_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvv vvw vvx fm_ll fm_lr True = single_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvv vvw vvx fm_ll fm_lr False = mkBalBranch10 fm_L fm_R vvv vvw vvx fm_ll fm_lr otherwise
mkBalBranch12 fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lr) = mkBalBranch11 fm_L fm_R vvv vvw vvx fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)
mkBalBranch2 key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R
mkBalBranch3 key elt fm_L fm_R True = mkBalBranch1 fm_L fm_R fm_L
mkBalBranch3 key elt fm_L fm_R False = mkBalBranch2 key elt fm_L fm_R otherwise
mkBalBranch4 key elt fm_L fm_R True = mkBalBranch0 fm_L fm_R fm_R
mkBalBranch4 key elt fm_L fm_R False = mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r)
mkBalBranch5 key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R
mkBalBranch5 key elt fm_L fm_R False = mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l)
single_L fm_l (Branch key_r elt_r vwx fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rlfm_rr
single_R (Branch key_l elt_l vuy fm_ll fm_lrfm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l  = sizeFM fm_L
size_r  = sizeFM fm_R

The following Function with conditions
addToFM_C combiner EmptyFM key elt = unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt
 | new_key < key
 = mkBalBranch key elt (addToFM_C combiner fm_l new_key new_eltfm_r
 | new_key > key
 = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise
 = Branch new_key (combiner elt new_eltsize fm_l fm_r

is transformed to
addToFM_C combiner EmptyFM key elt = addToFM_C4 combiner EmptyFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt = addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt

addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True = mkBalBranch key elt (addToFM_C combiner fm_l new_key new_eltfm_r
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False = addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key)

addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False = addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise

addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True = Branch new_key (combiner elt new_eltsize fm_l fm_r

addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt = addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key)

addToFM_C4 combiner EmptyFM key elt = unitFM key elt
addToFM_C4 wzz xuu xuv xuw = addToFM_C3 wzz xuu xuv xuw

The following Function with conditions
compare x y
 | x == y
 = EQ
 | x <= y
 = LT
 | otherwise
 = GT

is transformed to
compare x y = compare3 x y

compare2 x y True = EQ
compare2 x y False = compare1 x y (x <= y)

compare1 x y True = LT
compare1 x y False = compare0 x y otherwise

compare0 x y True = GT

compare3 x y = compare2 x y (x == y)

The following Function with conditions
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd' x xux = gcd'2 x xux
gcd' x y = gcd'0 x y

gcd'0 x y = gcd' y (x `rem` y)

gcd'1 True x xux = x
gcd'1 xuy xuz xvu = gcd'0 xuz xvu

gcd'2 x xux = gcd'1 (xux == 0) x xux
gcd'2 xvv xvw = gcd'0 xvv xvw

The following Function with conditions
gcd 0 0 = error []
gcd x y = 
gcd' (abs x) (abs y)
where 
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd xvx xvy = gcd3 xvx xvy
gcd x y = gcd0 x y

gcd0 x y = 
gcd' (abs x) (abs y)
where 
gcd' x xux = gcd'2 x xux
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x xux = x
gcd'1 xuy xuz xvu = gcd'0 xuz xvu
gcd'2 x xux = gcd'1 (xux == 0) x xux
gcd'2 xvv xvw = gcd'0 xvv xvw

gcd1 True xvx xvy = error []
gcd1 xvz xwu xwv = gcd0 xwu xwv

gcd2 True xvx xvy = gcd1 (xvy == 0) xvx xvy
gcd2 xww xwx xwy = gcd0 xwx xwy

gcd3 xvx xvy = gcd2 (xvx == 0) xvx xvy
gcd3 xwz xxu = gcd0 xwz xxu

The following Function with conditions
absReal x
 | x >= 0
 = x
 | otherwise
 = `negate` x

is transformed to
absReal x = absReal2 x

absReal0 x True = `negate` x

absReal1 x True = x
absReal1 x False = absReal0 x otherwise

absReal2 x = absReal1 x (x >= 0)

The following Function with conditions
undefined 
 | False
 = undefined

is transformed to
undefined  = undefined1

undefined0 True = undefined

undefined1  = undefined0 False

The following Function with conditions
reduce x y
 | y == 0
 = error []
 | otherwise
 = x `quot` d :% (y `quot` d)
where 
d  = gcd x y

is transformed to
reduce x y = reduce2 x y

reduce2 x y = 
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
HASKELL
                      ↳ LetRed

mainModule FiniteMap
  ((plusFM :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a) :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord b => FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt addToFM_C4 combiner EmptyFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt

  
addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True Branch new_key (combiner elt new_elt) size fm_l fm_r

  
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise

  
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key)

  
addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key)

  
addToFM_C4 combiner EmptyFM key elt unitFM key elt
addToFM_C4 wzz xuu xuv xuw addToFM_C3 wzz xuu xuv xuw

  emptyFM :: FiniteMap b a
emptyFM EmptyFM

  findMax :: FiniteMap a b  ->  (a,b)
findMax (Branch key elt vwy vwz EmptyFM(key,elt)
findMax (Branch key elt vxu vxv fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt wz EmptyFM xu(key,elt)
findMin (Branch key elt xv fm_l xwfindMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  b  ->  a  ->  a ->  a  ->  FiniteMap c b  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt wy fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  mkBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBalBranch key elt fm_L fm_R mkBalBranch6 key elt fm_L fm_R

  
mkBalBranch6 key elt fm_L fm_R 
mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2) where 
double_L fm_l (Branch key_r elt_r vvy (Branch key_rl elt_rl vvz fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuz fm_ll (Branch key_lr elt_lr vvu fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vwu vwv vww fm_rl fm_rrmkBalBranch02 fm_L fm_R (Branch vwu vwv vww fm_rl fm_rr)
mkBalBranch00 fm_L fm_R vwu vwv vww fm_rl fm_rr True double_L fm_L fm_R
mkBalBranch01 fm_L fm_R vwu vwv vww fm_rl fm_rr True single_L fm_L fm_R
mkBalBranch01 fm_L fm_R vwu vwv vww fm_rl fm_rr False mkBalBranch00 fm_L fm_R vwu vwv vww fm_rl fm_rr otherwise
mkBalBranch02 fm_L fm_R (Branch vwu vwv vww fm_rl fm_rrmkBalBranch01 fm_L fm_R vwu vwv vww fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)
mkBalBranch1 fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lrmkBalBranch12 fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lr)
mkBalBranch10 fm_L fm_R vvv vvw vvx fm_ll fm_lr True double_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvv vvw vvx fm_ll fm_lr True single_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvv vvw vvx fm_ll fm_lr False mkBalBranch10 fm_L fm_R vvv vvw vvx fm_ll fm_lr otherwise
mkBalBranch12 fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lrmkBalBranch11 fm_L fm_R vvv vvw vvx fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)
mkBalBranch2 key elt fm_L fm_R True mkBranch 2 key elt fm_L fm_R
mkBalBranch3 key elt fm_L fm_R True mkBalBranch1 fm_L fm_R fm_L
mkBalBranch3 key elt fm_L fm_R False mkBalBranch2 key elt fm_L fm_R otherwise
mkBalBranch4 key elt fm_L fm_R True mkBalBranch0 fm_L fm_R fm_R
mkBalBranch4 key elt fm_L fm_R False mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r)
mkBalBranch5 key elt fm_L fm_R True mkBranch 1 key elt fm_L fm_R
mkBalBranch5 key elt fm_L fm_R False mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l)
single_L fm_l (Branch key_r elt_r vwx fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l vuy fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM True
left_ok0 fm_l key (Branch left_key vw vx vy vz
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM True
right_ok0 fm_r key (Branch right_key wu wv ww wx
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkVBalBranch key elt EmptyFM fm_r mkVBalBranch5 key elt EmptyFM fm_r
mkVBalBranch key elt fm_l EmptyFM mkVBalBranch4 key elt fm_l EmptyFM
mkVBalBranch key elt (Branch yz zu zv zw zx) (Branch zz vuu vuv vuw vuxmkVBalBranch3 key elt (Branch yz zu zv zw zx) (Branch zz vuu vuv vuw vux)

  
mkVBalBranch3 key elt (Branch yz zu zv zw zx) (Branch zz vuu vuv vuw vux
mkVBalBranch2 key elt yz zu zv zw zx zz vuu vuv vuw vux (sIZE_RATIO * size_l < size_r) where 
mkVBalBranch0 key elt yz zu zv zw zx zz vuu vuv vuw vux True mkBranch 13 key elt (Branch yz zu zv zw zx) (Branch zz vuu vuv vuw vux)
mkVBalBranch1 key elt yz zu zv zw zx zz vuu vuv vuw vux True mkBalBranch yz zu zw (mkVBalBranch key elt zx (Branch zz vuu vuv vuw vux))
mkVBalBranch1 key elt yz zu zv zw zx zz vuu vuv vuw vux False mkVBalBranch0 key elt yz zu zv zw zx zz vuu vuv vuw vux otherwise
mkVBalBranch2 key elt yz zu zv zw zx zz vuu vuv vuw vux True mkBalBranch zz vuu (mkVBalBranch key elt (Branch yz zu zv zw zx) vuw) vux
mkVBalBranch2 key elt yz zu zv zw zx zz vuu vuv vuw vux False mkVBalBranch1 key elt yz zu zv zw zx zz vuu vuv vuw vux (sIZE_RATIO * size_r < size_l)
size_l sizeFM (Branch yz zu zv zw zx)
size_r sizeFM (Branch zz vuu vuv vuw vux)

  
mkVBalBranch4 key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch4 wxy wxz wyu wyv mkVBalBranch3 wxy wxz wyu wyv

  
mkVBalBranch5 key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch5 wyx wyy wyz wzu mkVBalBranch4 wyx wyy wyz wzu

  plusFM :: Ord a => FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
plusFM EmptyFM fm2 fm2
plusFM fm1 EmptyFM fm1
plusFM fm1 (Branch split_key elt1 yx left right
mkVBalBranch split_key elt1 (plusFM lts left) (plusFM gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch xz yu size yv ywsize

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key splitGT4 EmptyFM split_key
splitGT (Branch key elt xy fm_l fm_rsplit_key splitGT3 (Branch key elt xy fm_l fm_r) split_key

  
splitGT0 key elt xy fm_l fm_r split_key True fm_r

  
splitGT1 key elt xy fm_l fm_r split_key True mkVBalBranch key elt (splitGT fm_l split_key) fm_r
splitGT1 key elt xy fm_l fm_r split_key False splitGT0 key elt xy fm_l fm_r split_key otherwise

  
splitGT2 key elt xy fm_l fm_r split_key True splitGT fm_r split_key
splitGT2 key elt xy fm_l fm_r split_key False splitGT1 key elt xy fm_l fm_r split_key (split_key < key)

  
splitGT3 (Branch key elt xy fm_l fm_rsplit_key splitGT2 key elt xy fm_l fm_r split_key (split_key > key)

  
splitGT4 EmptyFM split_key emptyFM
splitGT4 wwz wxu splitGT3 wwz wxu

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key splitLT4 EmptyFM split_key
splitLT (Branch key elt xx fm_l fm_rsplit_key splitLT3 (Branch key elt xx fm_l fm_r) split_key

  
splitLT0 key elt xx fm_l fm_r split_key True fm_l

  
splitLT1 key elt xx fm_l fm_r split_key True mkVBalBranch key elt fm_l (splitLT fm_r split_key)
splitLT1 key elt xx fm_l fm_r split_key False splitLT0 key elt xx fm_l fm_r split_key otherwise

  
splitLT2 key elt xx fm_l fm_r split_key True splitLT fm_l split_key
splitLT2 key elt xx fm_l fm_r split_key False splitLT1 key elt xx fm_l fm_r split_key (split_key > key)

  
splitLT3 (Branch key elt xx fm_l fm_rsplit_key splitLT2 key elt xx fm_l fm_r split_key (split_key < key)

  
splitLT4 EmptyFM split_key emptyFM
splitLT4 wwv www splitLT3 wwv www

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Let/Where Reductions:
The bindings of the following Let/Where expression
mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2)
where 
double_L fm_l (Branch key_r elt_r vvy (Branch key_rl elt_rl vvz fm_rll fm_rlrfm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuz fm_ll (Branch key_lr elt_lr vvu fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vwu vwv vww fm_rl fm_rr) = mkBalBranch02 fm_L fm_R (Branch vwu vwv vww fm_rl fm_rr)
mkBalBranch00 fm_L fm_R vwu vwv vww fm_rl fm_rr True = double_L fm_L fm_R
mkBalBranch01 fm_L fm_R vwu vwv vww fm_rl fm_rr True = single_L fm_L fm_R
mkBalBranch01 fm_L fm_R vwu vwv vww fm_rl fm_rr False = mkBalBranch00 fm_L fm_R vwu vwv vww fm_rl fm_rr otherwise
mkBalBranch02 fm_L fm_R (Branch vwu vwv vww fm_rl fm_rr) = mkBalBranch01 fm_L fm_R vwu vwv vww fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)
mkBalBranch1 fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lr) = mkBalBranch12 fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lr)
mkBalBranch10 fm_L fm_R vvv vvw vvx fm_ll fm_lr True = double_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvv vvw vvx fm_ll fm_lr True = single_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvv vvw vvx fm_ll fm_lr False = mkBalBranch10 fm_L fm_R vvv vvw vvx fm_ll fm_lr otherwise
mkBalBranch12 fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lr) = mkBalBranch11 fm_L fm_R vvv vvw vvx fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)
mkBalBranch2 key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R
mkBalBranch3 key elt fm_L fm_R True = mkBalBranch1 fm_L fm_R fm_L
mkBalBranch3 key elt fm_L fm_R False = mkBalBranch2 key elt fm_L fm_R otherwise
mkBalBranch4 key elt fm_L fm_R True = mkBalBranch0 fm_L fm_R fm_R
mkBalBranch4 key elt fm_L fm_R False = mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r)
mkBalBranch5 key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R
mkBalBranch5 key elt fm_L fm_R False = mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l)
single_L fm_l (Branch key_r elt_r vwx fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rlfm_rr
single_R (Branch key_l elt_l vuy fm_ll fm_lrfm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l  = sizeFM fm_L
size_r  = sizeFM fm_R

are unpacked to the following functions on top level
mkBalBranch6MkBalBranch4 xxv xxw xxx xxy key elt fm_L fm_R True = mkBalBranch6MkBalBranch0 xxv xxw xxx xxy fm_L fm_R fm_R
mkBalBranch6MkBalBranch4 xxv xxw xxx xxy key elt fm_L fm_R False = mkBalBranch6MkBalBranch3 xxv xxw xxx xxy key elt fm_L fm_R (mkBalBranch6Size_l xxv xxw xxx xxy > sIZE_RATIO * mkBalBranch6Size_r xxv xxw xxx xxy)

mkBalBranch6Single_L xxv xxw xxx xxy fm_l (Branch key_r elt_r vwx fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 xxv xxw fm_l fm_rlfm_rr

mkBalBranch6MkBalBranch01 xxv xxw xxx xxy fm_L fm_R vwu vwv vww fm_rl fm_rr True = mkBalBranch6Single_L xxv xxw xxx xxy fm_L fm_R
mkBalBranch6MkBalBranch01 xxv xxw xxx xxy fm_L fm_R vwu vwv vww fm_rl fm_rr False = mkBalBranch6MkBalBranch00 xxv xxw xxx xxy fm_L fm_R vwu vwv vww fm_rl fm_rr otherwise

mkBalBranch6MkBalBranch5 xxv xxw xxx xxy key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R
mkBalBranch6MkBalBranch5 xxv xxw xxx xxy key elt fm_L fm_R False = mkBalBranch6MkBalBranch4 xxv xxw xxx xxy key elt fm_L fm_R (mkBalBranch6Size_r xxv xxw xxx xxy > sIZE_RATIO * mkBalBranch6Size_l xxv xxw xxx xxy)

mkBalBranch6Size_r xxv xxw xxx xxy = sizeFM xxx

mkBalBranch6MkBalBranch02 xxv xxw xxx xxy fm_L fm_R (Branch vwu vwv vww fm_rl fm_rr) = mkBalBranch6MkBalBranch01 xxv xxw xxx xxy fm_L fm_R vwu vwv vww fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)

mkBalBranch6Single_R xxv xxw xxx xxy (Branch key_l elt_l vuy fm_ll fm_lrfm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 xxv xxw fm_lr fm_r)

mkBalBranch6MkBalBranch00 xxv xxw xxx xxy fm_L fm_R vwu vwv vww fm_rl fm_rr True = mkBalBranch6Double_L xxv xxw xxx xxy fm_L fm_R

mkBalBranch6MkBalBranch10 xxv xxw xxx xxy fm_L fm_R vvv vvw vvx fm_ll fm_lr True = mkBalBranch6Double_R xxv xxw xxx xxy fm_L fm_R

mkBalBranch6MkBalBranch12 xxv xxw xxx xxy fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lr) = mkBalBranch6MkBalBranch11 xxv xxw xxx xxy fm_L fm_R vvv vvw vvx fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)

mkBalBranch6Double_R xxv xxw xxx xxy (Branch key_l elt_l vuz fm_ll (Branch key_lr elt_lr vvu fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 xxv xxw fm_lrr fm_r)

mkBalBranch6MkBalBranch1 xxv xxw xxx xxy fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lr) = mkBalBranch6MkBalBranch12 xxv xxw xxx xxy fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lr)

mkBalBranch6MkBalBranch3 xxv xxw xxx xxy key elt fm_L fm_R True = mkBalBranch6MkBalBranch1 xxv xxw xxx xxy fm_L fm_R fm_L
mkBalBranch6MkBalBranch3 xxv xxw xxx xxy key elt fm_L fm_R False = mkBalBranch6MkBalBranch2 xxv xxw xxx xxy key elt fm_L fm_R otherwise

mkBalBranch6Size_l xxv xxw xxx xxy = sizeFM xxy

mkBalBranch6MkBalBranch0 xxv xxw xxx xxy fm_L fm_R (Branch vwu vwv vww fm_rl fm_rr) = mkBalBranch6MkBalBranch02 xxv xxw xxx xxy fm_L fm_R (Branch vwu vwv vww fm_rl fm_rr)

mkBalBranch6MkBalBranch11 xxv xxw xxx xxy fm_L fm_R vvv vvw vvx fm_ll fm_lr True = mkBalBranch6Single_R xxv xxw xxx xxy fm_L fm_R
mkBalBranch6MkBalBranch11 xxv xxw xxx xxy fm_L fm_R vvv vvw vvx fm_ll fm_lr False = mkBalBranch6MkBalBranch10 xxv xxw xxx xxy fm_L fm_R vvv vvw vvx fm_ll fm_lr otherwise

mkBalBranch6Double_L xxv xxw xxx xxy fm_l (Branch key_r elt_r vvy (Branch key_rl elt_rl vvz fm_rll fm_rlrfm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 xxv xxw fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)

mkBalBranch6MkBalBranch2 xxv xxw xxx xxy key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R

The bindings of the following Let/Where expression
let 
result  = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
where 
balance_ok  = True
left_ok  = left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM = True
left_ok0 fm_l key (Branch left_key vw vx vy vz) = 
let 
biggest_left_key  = fst (findMax fm_l)
in biggest_left_key < key
left_size  = sizeFM fm_l
right_ok  = right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM = True
right_ok0 fm_r key (Branch right_key wu wv ww wx) = 
let 
smallest_right_key  = fst (findMin fm_r)
in key < smallest_right_key
right_size  = sizeFM fm_r
unbox x = x

are unpacked to the following functions on top level
mkBranchLeft_size xxz xyu xyv = sizeFM xxz

mkBranchRight_ok xxz xyu xyv = mkBranchRight_ok0 xxz xyu xyv xyu xyv xyu

mkBranchRight_ok0 xxz xyu xyv fm_r key EmptyFM = True
mkBranchRight_ok0 xxz xyu xyv fm_r key (Branch right_key wu wv ww wx) = key < mkBranchRight_ok0Smallest_right_key fm_r

mkBranchUnbox xxz xyu xyv x = x

mkBranchLeft_ok0 xxz xyu xyv fm_l key EmptyFM = True
mkBranchLeft_ok0 xxz xyu xyv fm_l key (Branch left_key vw vx vy vz) = mkBranchLeft_ok0Biggest_left_key fm_l < key

mkBranchBalance_ok xxz xyu xyv = True

mkBranchLeft_ok xxz xyu xyv = mkBranchLeft_ok0 xxz xyu xyv xxz xyv xxz

mkBranchRight_size xxz xyu xyv = sizeFM xyu

The bindings of the following Let/Where expression
let 
result  = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result

are unpacked to the following functions on top level
mkBranchResult xyw xyx xyy xyz = Branch xyw xyx (mkBranchUnbox xyy xyz xyw (1 + mkBranchLeft_size xyy xyz xyw + mkBranchRight_size xyy xyz xyw)) xyy xyz

The bindings of the following Let/Where expression
mkVBalBranch2 key elt yz zu zv zw zx zz vuu vuv vuw vux (sIZE_RATIO * size_l < size_r)
where 
mkVBalBranch0 key elt yz zu zv zw zx zz vuu vuv vuw vux True = mkBranch 13 key elt (Branch yz zu zv zw zx) (Branch zz vuu vuv vuw vux)
mkVBalBranch1 key elt yz zu zv zw zx zz vuu vuv vuw vux True = mkBalBranch yz zu zw (mkVBalBranch key elt zx (Branch zz vuu vuv vuw vux))
mkVBalBranch1 key elt yz zu zv zw zx zz vuu vuv vuw vux False = mkVBalBranch0 key elt yz zu zv zw zx zz vuu vuv vuw vux otherwise
mkVBalBranch2 key elt yz zu zv zw zx zz vuu vuv vuw vux True = mkBalBranch zz vuu (mkVBalBranch key elt (Branch yz zu zv zw zxvuwvux
mkVBalBranch2 key elt yz zu zv zw zx zz vuu vuv vuw vux False = mkVBalBranch1 key elt yz zu zv zw zx zz vuu vuv vuw vux (sIZE_RATIO * size_r < size_l)
size_l  = sizeFM (Branch yz zu zv zw zx)
size_r  = sizeFM (Branch zz vuu vuv vuw vux)

are unpacked to the following functions on top level
mkVBalBranch3Size_r xzu xzv xzw xzx xzy xzz yuu yuv yuw yux = sizeFM (Branch xzu xzv xzw xzx xzy)

mkVBalBranch3Size_l xzu xzv xzw xzx xzy xzz yuu yuv yuw yux = sizeFM (Branch xzz yuu yuv yuw yux)

mkVBalBranch3MkVBalBranch0 xzu xzv xzw xzx xzy xzz yuu yuv yuw yux key elt yz zu zv zw zx zz vuu vuv vuw vux True = mkBranch 13 key elt (Branch yz zu zv zw zx) (Branch zz vuu vuv vuw vux)

mkVBalBranch3MkVBalBranch1 xzu xzv xzw xzx xzy xzz yuu yuv yuw yux key elt yz zu zv zw zx zz vuu vuv vuw vux True = mkBalBranch yz zu zw (mkVBalBranch key elt zx (Branch zz vuu vuv vuw vux))
mkVBalBranch3MkVBalBranch1 xzu xzv xzw xzx xzy xzz yuu yuv yuw yux key elt yz zu zv zw zx zz vuu vuv vuw vux False = mkVBalBranch3MkVBalBranch0 xzu xzv xzw xzx xzy xzz yuu yuv yuw yux key elt yz zu zv zw zx zz vuu vuv vuw vux otherwise

mkVBalBranch3MkVBalBranch2 xzu xzv xzw xzx xzy xzz yuu yuv yuw yux key elt yz zu zv zw zx zz vuu vuv vuw vux True = mkBalBranch zz vuu (mkVBalBranch key elt (Branch yz zu zv zw zxvuwvux
mkVBalBranch3MkVBalBranch2 xzu xzv xzw xzx xzy xzz yuu yuv yuw yux key elt yz zu zv zw zx zz vuu vuv vuw vux False = mkVBalBranch3MkVBalBranch1 xzu xzv xzw xzx xzy xzz yuu yuv yuw yux key elt yz zu zv zw zx zz vuu vuv vuw vux (sIZE_RATIO * mkVBalBranch3Size_r xzu xzv xzw xzx xzy xzz yuu yuv yuw yux < mkVBalBranch3Size_l xzu xzv xzw xzx xzy xzz yuu yuv yuw yux)

The bindings of the following Let/Where expression
mkVBalBranch split_key elt1 (plusFM lts left) (plusFM gts right)
where 
gts  = splitGT fm1 split_key
lts  = splitLT fm1 split_key

are unpacked to the following functions on top level
plusFMGts yuy yuz = splitGT yuy yuz

plusFMLts yuy yuz = splitLT yuy yuz

The bindings of the following Let/Where expression
let 
smallest_right_key  = fst (findMin fm_r)
in key < smallest_right_key

are unpacked to the following functions on top level
mkBranchRight_ok0Smallest_right_key yvu = fst (findMin yvu)

The bindings of the following Let/Where expression
let 
biggest_left_key  = fst (findMax fm_l)
in biggest_left_key < key

are unpacked to the following functions on top level
mkBranchLeft_ok0Biggest_left_key yvv = fst (findMax yvv)

The bindings of the following Let/Where expression
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise

are unpacked to the following functions on top level
reduce2D yvw yvx = gcd yvw yvx

reduce2Reduce0 yvw yvx x y True = x `quot` reduce2D yvw yvx :% (y `quot` reduce2D yvw yvx)

reduce2Reduce1 yvw yvx x y True = error []
reduce2Reduce1 yvw yvx x y False = reduce2Reduce0 yvw yvx x y otherwise

The bindings of the following Let/Where expression
gcd' (abs x) (abs y)
where 
gcd' x xux = gcd'2 x xux
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x xux = x
gcd'1 xuy xuz xvu = gcd'0 xuz xvu
gcd'2 x xux = gcd'1 (xux == 0) x xux
gcd'2 xvv xvw = gcd'0 xvv xvw

are unpacked to the following functions on top level
gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y)

gcd0Gcd'1 True x xux = x
gcd0Gcd'1 xuy xuz xvu = gcd0Gcd'0 xuz xvu

gcd0Gcd'2 x xux = gcd0Gcd'1 (xux == 0) x xux
gcd0Gcd'2 xvv xvw = gcd0Gcd'0 xvv xvw

gcd0Gcd' x xux = gcd0Gcd'2 x xux
gcd0Gcd' x y = gcd0Gcd'0 x y



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
HASKELL
                          ↳ NumRed

mainModule FiniteMap
  ((plusFM :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a) :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord a => FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM_C combiner EmptyFM key elt addToFM_C4 combiner EmptyFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt

  
addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True Branch new_key (combiner elt new_elt) size fm_l fm_r

  
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise

  
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key)

  
addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key)

  
addToFM_C4 combiner EmptyFM key elt unitFM key elt
addToFM_C4 wzz xuu xuv xuw addToFM_C3 wzz xuu xuv xuw

  emptyFM :: FiniteMap b a
emptyFM EmptyFM

  findMax :: FiniteMap a b  ->  (a,b)
findMax (Branch key elt vwy vwz EmptyFM(key,elt)
findMax (Branch key elt vxu vxv fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt wz EmptyFM xu(key,elt)
findMin (Branch key elt xv fm_l xwfindMin fm_l

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  a  ->  b  ->  b ->  b  ->  FiniteMap c a  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt wy fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  mkBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBalBranch key elt fm_L fm_R mkBalBranch6 key elt fm_L fm_R

  
mkBalBranch6 key elt fm_L fm_R mkBalBranch6MkBalBranch5 key elt fm_R fm_L key elt fm_L fm_R (mkBalBranch6Size_l key elt fm_R fm_L + mkBalBranch6Size_r key elt fm_R fm_L < 2)

  
mkBalBranch6Double_L xxv xxw xxx xxy fm_l (Branch key_r elt_r vvy (Branch key_rl elt_rl vvz fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 xxv xxw fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)

  
mkBalBranch6Double_R xxv xxw xxx xxy (Branch key_l elt_l vuz fm_ll (Branch key_lr elt_lr vvu fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 xxv xxw fm_lrr fm_r)

  
mkBalBranch6MkBalBranch0 xxv xxw xxx xxy fm_L fm_R (Branch vwu vwv vww fm_rl fm_rrmkBalBranch6MkBalBranch02 xxv xxw xxx xxy fm_L fm_R (Branch vwu vwv vww fm_rl fm_rr)

  
mkBalBranch6MkBalBranch00 xxv xxw xxx xxy fm_L fm_R vwu vwv vww fm_rl fm_rr True mkBalBranch6Double_L xxv xxw xxx xxy fm_L fm_R

  
mkBalBranch6MkBalBranch01 xxv xxw xxx xxy fm_L fm_R vwu vwv vww fm_rl fm_rr True mkBalBranch6Single_L xxv xxw xxx xxy fm_L fm_R
mkBalBranch6MkBalBranch01 xxv xxw xxx xxy fm_L fm_R vwu vwv vww fm_rl fm_rr False mkBalBranch6MkBalBranch00 xxv xxw xxx xxy fm_L fm_R vwu vwv vww fm_rl fm_rr otherwise

  
mkBalBranch6MkBalBranch02 xxv xxw xxx xxy fm_L fm_R (Branch vwu vwv vww fm_rl fm_rrmkBalBranch6MkBalBranch01 xxv xxw xxx xxy fm_L fm_R vwu vwv vww fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)

  
mkBalBranch6MkBalBranch1 xxv xxw xxx xxy fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lrmkBalBranch6MkBalBranch12 xxv xxw xxx xxy fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lr)

  
mkBalBranch6MkBalBranch10 xxv xxw xxx xxy fm_L fm_R vvv vvw vvx fm_ll fm_lr True mkBalBranch6Double_R xxv xxw xxx xxy fm_L fm_R

  
mkBalBranch6MkBalBranch11 xxv xxw xxx xxy fm_L fm_R vvv vvw vvx fm_ll fm_lr True mkBalBranch6Single_R xxv xxw xxx xxy fm_L fm_R
mkBalBranch6MkBalBranch11 xxv xxw xxx xxy fm_L fm_R vvv vvw vvx fm_ll fm_lr False mkBalBranch6MkBalBranch10 xxv xxw xxx xxy fm_L fm_R vvv vvw vvx fm_ll fm_lr otherwise

  
mkBalBranch6MkBalBranch12 xxv xxw xxx xxy fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lrmkBalBranch6MkBalBranch11 xxv xxw xxx xxy fm_L fm_R vvv vvw vvx fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)

  
mkBalBranch6MkBalBranch2 xxv xxw xxx xxy key elt fm_L fm_R True mkBranch 2 key elt fm_L fm_R

  
mkBalBranch6MkBalBranch3 xxv xxw xxx xxy key elt fm_L fm_R True mkBalBranch6MkBalBranch1 xxv xxw xxx xxy fm_L fm_R fm_L
mkBalBranch6MkBalBranch3 xxv xxw xxx xxy key elt fm_L fm_R False mkBalBranch6MkBalBranch2 xxv xxw xxx xxy key elt fm_L fm_R otherwise

  
mkBalBranch6MkBalBranch4 xxv xxw xxx xxy key elt fm_L fm_R True mkBalBranch6MkBalBranch0 xxv xxw xxx xxy fm_L fm_R fm_R
mkBalBranch6MkBalBranch4 xxv xxw xxx xxy key elt fm_L fm_R False mkBalBranch6MkBalBranch3 xxv xxw xxx xxy key elt fm_L fm_R (mkBalBranch6Size_l xxv xxw xxx xxy > sIZE_RATIO * mkBalBranch6Size_r xxv xxw xxx xxy)

  
mkBalBranch6MkBalBranch5 xxv xxw xxx xxy key elt fm_L fm_R True mkBranch 1 key elt fm_L fm_R
mkBalBranch6MkBalBranch5 xxv xxw xxx xxy key elt fm_L fm_R False mkBalBranch6MkBalBranch4 xxv xxw xxx xxy key elt fm_L fm_R (mkBalBranch6Size_r xxv xxw xxx xxy > sIZE_RATIO * mkBalBranch6Size_l xxv xxw xxx xxy)

  
mkBalBranch6Single_L xxv xxw xxx xxy fm_l (Branch key_r elt_r vwx fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 xxv xxw fm_l fm_rl) fm_rr

  
mkBalBranch6Single_R xxv xxw xxx xxy (Branch key_l elt_l vuy fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 xxv xxw fm_lr fm_r)

  
mkBalBranch6Size_l xxv xxw xxx xxy sizeFM xxy

  
mkBalBranch6Size_r xxv xxw xxx xxy sizeFM xxx

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r mkBranchResult key elt fm_l fm_r

  
mkBranchBalance_ok xxz xyu xyv True

  
mkBranchLeft_ok xxz xyu xyv mkBranchLeft_ok0 xxz xyu xyv xxz xyv xxz

  
mkBranchLeft_ok0 xxz xyu xyv fm_l key EmptyFM True
mkBranchLeft_ok0 xxz xyu xyv fm_l key (Branch left_key vw vx vy vzmkBranchLeft_ok0Biggest_left_key fm_l < key

  
mkBranchLeft_ok0Biggest_left_key yvv fst (findMax yvv)

  
mkBranchLeft_size xxz xyu xyv sizeFM xxz

  
mkBranchResult xyw xyx xyy xyz Branch xyw xyx (mkBranchUnbox xyy xyz xyw (1 + mkBranchLeft_size xyy xyz xyw + mkBranchRight_size xyy xyz xyw)) xyy xyz

  
mkBranchRight_ok xxz xyu xyv mkBranchRight_ok0 xxz xyu xyv xyu xyv xyu

  
mkBranchRight_ok0 xxz xyu xyv fm_r key EmptyFM True
mkBranchRight_ok0 xxz xyu xyv fm_r key (Branch right_key wu wv ww wxkey < mkBranchRight_ok0Smallest_right_key fm_r

  
mkBranchRight_ok0Smallest_right_key yvu fst (findMin yvu)

  
mkBranchRight_size xxz xyu xyv sizeFM xyu

  mkBranchUnbox :: Ord a =>  ->  (FiniteMap a b) ( ->  (FiniteMap a b) ( ->  a (Int  ->  Int)))
mkBranchUnbox xxz xyu xyv x x

  mkVBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkVBalBranch key elt EmptyFM fm_r mkVBalBranch5 key elt EmptyFM fm_r
mkVBalBranch key elt fm_l EmptyFM mkVBalBranch4 key elt fm_l EmptyFM
mkVBalBranch key elt (Branch yz zu zv zw zx) (Branch zz vuu vuv vuw vuxmkVBalBranch3 key elt (Branch yz zu zv zw zx) (Branch zz vuu vuv vuw vux)

  
mkVBalBranch3 key elt (Branch yz zu zv zw zx) (Branch zz vuu vuv vuw vuxmkVBalBranch3MkVBalBranch2 zz vuu vuv vuw vux yz zu zv zw zx key elt yz zu zv zw zx zz vuu vuv vuw vux (sIZE_RATIO * mkVBalBranch3Size_l zz vuu vuv vuw vux yz zu zv zw zx < mkVBalBranch3Size_r zz vuu vuv vuw vux yz zu zv zw zx)

  
mkVBalBranch3MkVBalBranch0 xzu xzv xzw xzx xzy xzz yuu yuv yuw yux key elt yz zu zv zw zx zz vuu vuv vuw vux True mkBranch 13 key elt (Branch yz zu zv zw zx) (Branch zz vuu vuv vuw vux)

  
mkVBalBranch3MkVBalBranch1 xzu xzv xzw xzx xzy xzz yuu yuv yuw yux key elt yz zu zv zw zx zz vuu vuv vuw vux True mkBalBranch yz zu zw (mkVBalBranch key elt zx (Branch zz vuu vuv vuw vux))
mkVBalBranch3MkVBalBranch1 xzu xzv xzw xzx xzy xzz yuu yuv yuw yux key elt yz zu zv zw zx zz vuu vuv vuw vux False mkVBalBranch3MkVBalBranch0 xzu xzv xzw xzx xzy xzz yuu yuv yuw yux key elt yz zu zv zw zx zz vuu vuv vuw vux otherwise

  
mkVBalBranch3MkVBalBranch2 xzu xzv xzw xzx xzy xzz yuu yuv yuw yux key elt yz zu zv zw zx zz vuu vuv vuw vux True mkBalBranch zz vuu (mkVBalBranch key elt (Branch yz zu zv zw zx) vuw) vux
mkVBalBranch3MkVBalBranch2 xzu xzv xzw xzx xzy xzz yuu yuv yuw yux key elt yz zu zv zw zx zz vuu vuv vuw vux False mkVBalBranch3MkVBalBranch1 xzu xzv xzw xzx xzy xzz yuu yuv yuw yux key elt yz zu zv zw zx zz vuu vuv vuw vux (sIZE_RATIO * mkVBalBranch3Size_r xzu xzv xzw xzx xzy xzz yuu yuv yuw yux < mkVBalBranch3Size_l xzu xzv xzw xzx xzy xzz yuu yuv yuw yux)

  
mkVBalBranch3Size_l xzu xzv xzw xzx xzy xzz yuu yuv yuw yux sizeFM (Branch xzz yuu yuv yuw yux)

  
mkVBalBranch3Size_r xzu xzv xzw xzx xzy xzz yuu yuv yuw yux sizeFM (Branch xzu xzv xzw xzx xzy)

  
mkVBalBranch4 key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch4 wxy wxz wyu wyv mkVBalBranch3 wxy wxz wyu wyv

  
mkVBalBranch5 key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch5 wyx wyy wyz wzu mkVBalBranch4 wyx wyy wyz wzu

  plusFM :: Ord a => FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
plusFM EmptyFM fm2 fm2
plusFM fm1 EmptyFM fm1
plusFM fm1 (Branch split_key elt1 yx left rightmkVBalBranch split_key elt1 (plusFM (plusFMLts fm1 split_key) left) (plusFM (plusFMGts fm1 split_key) right)

  
plusFMGts yuy yuz splitGT yuy yuz

  
plusFMLts yuy yuz splitLT yuy yuz

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch xz yu size yv ywsize

  splitGT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitGT EmptyFM split_key splitGT4 EmptyFM split_key
splitGT (Branch key elt xy fm_l fm_rsplit_key splitGT3 (Branch key elt xy fm_l fm_r) split_key

  
splitGT0 key elt xy fm_l fm_r split_key True fm_r

  
splitGT1 key elt xy fm_l fm_r split_key True mkVBalBranch key elt (splitGT fm_l split_key) fm_r
splitGT1 key elt xy fm_l fm_r split_key False splitGT0 key elt xy fm_l fm_r split_key otherwise

  
splitGT2 key elt xy fm_l fm_r split_key True splitGT fm_r split_key
splitGT2 key elt xy fm_l fm_r split_key False splitGT1 key elt xy fm_l fm_r split_key (split_key < key)

  
splitGT3 (Branch key elt xy fm_l fm_rsplit_key splitGT2 key elt xy fm_l fm_r split_key (split_key > key)

  
splitGT4 EmptyFM split_key emptyFM
splitGT4 wwz wxu splitGT3 wwz wxu

  splitLT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitLT EmptyFM split_key splitLT4 EmptyFM split_key
splitLT (Branch key elt xx fm_l fm_rsplit_key splitLT3 (Branch key elt xx fm_l fm_r) split_key

  
splitLT0 key elt xx fm_l fm_r split_key True fm_l

  
splitLT1 key elt xx fm_l fm_r split_key True mkVBalBranch key elt fm_l (splitLT fm_r split_key)
splitLT1 key elt xx fm_l fm_r split_key False splitLT0 key elt xx fm_l fm_r split_key otherwise

  
splitLT2 key elt xx fm_l fm_r split_key True splitLT fm_l split_key
splitLT2 key elt xx fm_l fm_r split_key False splitLT1 key elt xx fm_l fm_r split_key (split_key > key)

  
splitLT3 (Branch key elt xx fm_l fm_rsplit_key splitLT2 key elt xx fm_l fm_r split_key (split_key < key)

  
splitLT4 EmptyFM split_key emptyFM
splitLT4 wwv www splitLT3 wwv www

  unitFM :: b  ->  a  ->  FiniteMap b a
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Num Reduction: All numbers are transformed to thier corresponding representation with Pos, Neg, Succ and Zero.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
HASKELL
                              ↳ Narrow

mainModule FiniteMap
  (plusFM :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord a => FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM_C combiner EmptyFM key elt addToFM_C4 combiner EmptyFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt

  
addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True Branch new_key (combiner elt new_elt) size fm_l fm_r

  
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise

  
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key)

  
addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key)

  
addToFM_C4 combiner EmptyFM key elt unitFM key elt
addToFM_C4 wzz xuu xuv xuw addToFM_C3 wzz xuu xuv xuw

  emptyFM :: FiniteMap b a
emptyFM EmptyFM

  findMax :: FiniteMap a b  ->  (a,b)
findMax (Branch key elt vwy vwz EmptyFM(key,elt)
findMax (Branch key elt vxu vxv fm_rfindMax fm_r

  findMin :: FiniteMap a b  ->  (a,b)
findMin (Branch key elt wz EmptyFM xu(key,elt)
findMin (Branch key elt xv fm_l xwfindMin fm_l

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (b  ->  a  ->  c  ->  c ->  c  ->  FiniteMap b a  ->  c
foldFM k z EmptyFM z
foldFM k z (Branch key elt wy fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  mkBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBalBranch key elt fm_L fm_R mkBalBranch6 key elt fm_L fm_R

  
mkBalBranch6 key elt fm_L fm_R mkBalBranch6MkBalBranch5 key elt fm_R fm_L key elt fm_L fm_R (mkBalBranch6Size_l key elt fm_R fm_L + mkBalBranch6Size_r key elt fm_R fm_L < Pos (Succ (Succ Zero)))

  
mkBalBranch6Double_L xxv xxw xxx xxy fm_l (Branch key_r elt_r vvy (Branch key_rl elt_rl vvz fm_rll fm_rlr) fm_rrmkBranch (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) key_rl elt_rl (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) xxv xxw fm_l fm_rll) (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) key_r elt_r fm_rlr fm_rr)

  
mkBalBranch6Double_R xxv xxw xxx xxy (Branch key_l elt_l vuz fm_ll (Branch key_lr elt_lr vvu fm_lrl fm_lrr)) fm_r mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))) key_lr elt_lr (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))) key_l elt_l fm_ll fm_lrl) (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) xxv xxw fm_lrr fm_r)

  
mkBalBranch6MkBalBranch0 xxv xxw xxx xxy fm_L fm_R (Branch vwu vwv vww fm_rl fm_rrmkBalBranch6MkBalBranch02 xxv xxw xxx xxy fm_L fm_R (Branch vwu vwv vww fm_rl fm_rr)

  
mkBalBranch6MkBalBranch00 xxv xxw xxx xxy fm_L fm_R vwu vwv vww fm_rl fm_rr True mkBalBranch6Double_L xxv xxw xxx xxy fm_L fm_R

  
mkBalBranch6MkBalBranch01 xxv xxw xxx xxy fm_L fm_R vwu vwv vww fm_rl fm_rr True mkBalBranch6Single_L xxv xxw xxx xxy fm_L fm_R
mkBalBranch6MkBalBranch01 xxv xxw xxx xxy fm_L fm_R vwu vwv vww fm_rl fm_rr False mkBalBranch6MkBalBranch00 xxv xxw xxx xxy fm_L fm_R vwu vwv vww fm_rl fm_rr otherwise

  
mkBalBranch6MkBalBranch02 xxv xxw xxx xxy fm_L fm_R (Branch vwu vwv vww fm_rl fm_rrmkBalBranch6MkBalBranch01 xxv xxw xxx xxy fm_L fm_R vwu vwv vww fm_rl fm_rr (sizeFM fm_rl < Pos (Succ (Succ Zero)) * sizeFM fm_rr)

  
mkBalBranch6MkBalBranch1 xxv xxw xxx xxy fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lrmkBalBranch6MkBalBranch12 xxv xxw xxx xxy fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lr)

  
mkBalBranch6MkBalBranch10 xxv xxw xxx xxy fm_L fm_R vvv vvw vvx fm_ll fm_lr True mkBalBranch6Double_R xxv xxw xxx xxy fm_L fm_R

  
mkBalBranch6MkBalBranch11 xxv xxw xxx xxy fm_L fm_R vvv vvw vvx fm_ll fm_lr True mkBalBranch6Single_R xxv xxw xxx xxy fm_L fm_R
mkBalBranch6MkBalBranch11 xxv xxw xxx xxy fm_L fm_R vvv vvw vvx fm_ll fm_lr False mkBalBranch6MkBalBranch10 xxv xxw xxx xxy fm_L fm_R vvv vvw vvx fm_ll fm_lr otherwise

  
mkBalBranch6MkBalBranch12 xxv xxw xxx xxy fm_L fm_R (Branch vvv vvw vvx fm_ll fm_lrmkBalBranch6MkBalBranch11 xxv xxw xxx xxy fm_L fm_R vvv vvw vvx fm_ll fm_lr (sizeFM fm_lr < Pos (Succ (Succ Zero)) * sizeFM fm_ll)

  
mkBalBranch6MkBalBranch2 xxv xxw xxx xxy key elt fm_L fm_R True mkBranch (Pos (Succ (Succ Zero))) key elt fm_L fm_R

  
mkBalBranch6MkBalBranch3 xxv xxw xxx xxy key elt fm_L fm_R True mkBalBranch6MkBalBranch1 xxv xxw xxx xxy fm_L fm_R fm_L
mkBalBranch6MkBalBranch3 xxv xxw xxx xxy key elt fm_L fm_R False mkBalBranch6MkBalBranch2 xxv xxw xxx xxy key elt fm_L fm_R otherwise

  
mkBalBranch6MkBalBranch4 xxv xxw xxx xxy key elt fm_L fm_R True mkBalBranch6MkBalBranch0 xxv xxw xxx xxy fm_L fm_R fm_R
mkBalBranch6MkBalBranch4 xxv xxw xxx xxy key elt fm_L fm_R False mkBalBranch6MkBalBranch3 xxv xxw xxx xxy key elt fm_L fm_R (mkBalBranch6Size_l xxv xxw xxx xxy > sIZE_RATIO * mkBalBranch6Size_r xxv xxw xxx xxy)

  
mkBalBranch6MkBalBranch5 xxv xxw xxx xxy key elt fm_L fm_R True mkBranch (Pos (Succ Zero)) key elt fm_L fm_R
mkBalBranch6MkBalBranch5 xxv xxw xxx xxy key elt fm_L fm_R False mkBalBranch6MkBalBranch4 xxv xxw xxx xxy key elt fm_L fm_R (mkBalBranch6Size_r xxv xxw xxx xxy > sIZE_RATIO * mkBalBranch6Size_l xxv xxw xxx xxy)

  
mkBalBranch6Single_L xxv xxw xxx xxy fm_l (Branch key_r elt_r vwx fm_rl fm_rrmkBranch (Pos (Succ (Succ (Succ Zero)))) key_r elt_r (mkBranch (Pos (Succ (Succ (Succ (Succ Zero))))) xxv xxw fm_l fm_rl) fm_rr

  
mkBalBranch6Single_R xxv xxw xxx xxy (Branch key_l elt_l vuy fm_ll fm_lrfm_r mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))) key_l elt_l fm_ll (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))) xxv xxw fm_lr fm_r)

  
mkBalBranch6Size_l xxv xxw xxx xxy sizeFM xxy

  
mkBalBranch6Size_r xxv xxw xxx xxy sizeFM xxx

  mkBranch :: Ord b => Int  ->  b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBranch which key elt fm_l fm_r mkBranchResult key elt fm_l fm_r

  
mkBranchBalance_ok xxz xyu xyv True

  
mkBranchLeft_ok xxz xyu xyv mkBranchLeft_ok0 xxz xyu xyv xxz xyv xxz

  
mkBranchLeft_ok0 xxz xyu xyv fm_l key EmptyFM True
mkBranchLeft_ok0 xxz xyu xyv fm_l key (Branch left_key vw vx vy vzmkBranchLeft_ok0Biggest_left_key fm_l < key

  
mkBranchLeft_ok0Biggest_left_key yvv fst (findMax yvv)

  
mkBranchLeft_size xxz xyu xyv sizeFM xxz

  
mkBranchResult xyw xyx xyy xyz Branch xyw xyx (mkBranchUnbox xyy xyz xyw (Pos (Succ Zero+ mkBranchLeft_size xyy xyz xyw + mkBranchRight_size xyy xyz xyw)) xyy xyz

  
mkBranchRight_ok xxz xyu xyv mkBranchRight_ok0 xxz xyu xyv xyu xyv xyu

  
mkBranchRight_ok0 xxz xyu xyv fm_r key EmptyFM True
mkBranchRight_ok0 xxz xyu xyv fm_r key (Branch right_key wu wv ww wxkey < mkBranchRight_ok0Smallest_right_key fm_r

  
mkBranchRight_ok0Smallest_right_key yvu fst (findMin yvu)

  
mkBranchRight_size xxz xyu xyv sizeFM xyu

  mkBranchUnbox :: Ord a =>  ->  (FiniteMap a b) ( ->  (FiniteMap a b) ( ->  a (Int  ->  Int)))
mkBranchUnbox xxz xyu xyv x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r mkVBalBranch5 key elt EmptyFM fm_r
mkVBalBranch key elt fm_l EmptyFM mkVBalBranch4 key elt fm_l EmptyFM
mkVBalBranch key elt (Branch yz zu zv zw zx) (Branch zz vuu vuv vuw vuxmkVBalBranch3 key elt (Branch yz zu zv zw zx) (Branch zz vuu vuv vuw vux)

  
mkVBalBranch3 key elt (Branch yz zu zv zw zx) (Branch zz vuu vuv vuw vuxmkVBalBranch3MkVBalBranch2 zz vuu vuv vuw vux yz zu zv zw zx key elt yz zu zv zw zx zz vuu vuv vuw vux (sIZE_RATIO * mkVBalBranch3Size_l zz vuu vuv vuw vux yz zu zv zw zx < mkVBalBranch3Size_r zz vuu vuv vuw vux yz zu zv zw zx)

  
mkVBalBranch3MkVBalBranch0 xzu xzv xzw xzx xzy xzz yuu yuv yuw yux key elt yz zu zv zw zx zz vuu vuv vuw vux True mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))) key elt (Branch yz zu zv zw zx) (Branch zz vuu vuv vuw vux)

  
mkVBalBranch3MkVBalBranch1 xzu xzv xzw xzx xzy xzz yuu yuv yuw yux key elt yz zu zv zw zx zz vuu vuv vuw vux True mkBalBranch yz zu zw (mkVBalBranch key elt zx (Branch zz vuu vuv vuw vux))
mkVBalBranch3MkVBalBranch1 xzu xzv xzw xzx xzy xzz yuu yuv yuw yux key elt yz zu zv zw zx zz vuu vuv vuw vux False mkVBalBranch3MkVBalBranch0 xzu xzv xzw xzx xzy xzz yuu yuv yuw yux key elt yz zu zv zw zx zz vuu vuv vuw vux otherwise

  
mkVBalBranch3MkVBalBranch2 xzu xzv xzw xzx xzy xzz yuu yuv yuw yux key elt yz zu zv zw zx zz vuu vuv vuw vux True mkBalBranch zz vuu (mkVBalBranch key elt (Branch yz zu zv zw zx) vuw) vux
mkVBalBranch3MkVBalBranch2 xzu xzv xzw xzx xzy xzz yuu yuv yuw yux key elt yz zu zv zw zx zz vuu vuv vuw vux False mkVBalBranch3MkVBalBranch1 xzu xzv xzw xzx xzy xzz yuu yuv yuw yux key elt yz zu zv zw zx zz vuu vuv vuw vux (sIZE_RATIO * mkVBalBranch3Size_r xzu xzv xzw xzx xzy xzz yuu yuv yuw yux < mkVBalBranch3Size_l xzu xzv xzw xzx xzy xzz yuu yuv yuw yux)

  
mkVBalBranch3Size_l xzu xzv xzw xzx xzy xzz yuu yuv yuw yux sizeFM (Branch xzz yuu yuv yuw yux)

  
mkVBalBranch3Size_r xzu xzv xzw xzx xzy xzz yuu yuv yuw yux sizeFM (Branch xzu xzv xzw xzx xzy)

  
mkVBalBranch4 key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch4 wxy wxz wyu wyv mkVBalBranch3 wxy wxz wyu wyv

  
mkVBalBranch5 key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch5 wyx wyy wyz wzu mkVBalBranch4 wyx wyy wyz wzu

  plusFM :: Ord a => FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
plusFM EmptyFM fm2 fm2
plusFM fm1 EmptyFM fm1
plusFM fm1 (Branch split_key elt1 yx left rightmkVBalBranch split_key elt1 (plusFM (plusFMLts fm1 split_key) left) (plusFM (plusFMGts fm1 split_key) right)

  
plusFMGts yuy yuz splitGT yuy yuz

  
plusFMLts yuy yuz splitLT yuy yuz

  sIZE_RATIO :: Int
sIZE_RATIO Pos (Succ (Succ (Succ (Succ (Succ Zero)))))

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM Pos Zero
sizeFM (Branch xz yu size yv ywsize

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key splitGT4 EmptyFM split_key
splitGT (Branch key elt xy fm_l fm_rsplit_key splitGT3 (Branch key elt xy fm_l fm_r) split_key

  
splitGT0 key elt xy fm_l fm_r split_key True fm_r

  
splitGT1 key elt xy fm_l fm_r split_key True mkVBalBranch key elt (splitGT fm_l split_key) fm_r
splitGT1 key elt xy fm_l fm_r split_key False splitGT0 key elt xy fm_l fm_r split_key otherwise

  
splitGT2 key elt xy fm_l fm_r split_key True splitGT fm_r split_key
splitGT2 key elt xy fm_l fm_r split_key False splitGT1 key elt xy fm_l fm_r split_key (split_key < key)

  
splitGT3 (Branch key elt xy fm_l fm_rsplit_key splitGT2 key elt xy fm_l fm_r split_key (split_key > key)

  
splitGT4 EmptyFM split_key emptyFM
splitGT4 wwz wxu splitGT3 wwz wxu

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key splitLT4 EmptyFM split_key
splitLT (Branch key elt xx fm_l fm_rsplit_key splitLT3 (Branch key elt xx fm_l fm_r) split_key

  
splitLT0 key elt xx fm_l fm_r split_key True fm_l

  
splitLT1 key elt xx fm_l fm_r split_key True mkVBalBranch key elt fm_l (splitLT fm_r split_key)
splitLT1 key elt xx fm_l fm_r split_key False splitLT0 key elt xx fm_l fm_r split_key otherwise

  
splitLT2 key elt xx fm_l fm_r split_key True splitLT fm_l split_key
splitLT2 key elt xx fm_l fm_r split_key False splitLT1 key elt xx fm_l fm_r split_key (split_key > key)

  
splitLT3 (Branch key elt xx fm_l fm_rsplit_key splitLT2 key elt xx fm_l fm_r split_key (split_key < key)

  
splitLT4 EmptyFM split_key emptyFM
splitLT4 wwv www splitLT3 wwv www

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt (Pos (Succ Zero)) emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Haskell To QDPs


↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primEqNat(Succ(yvy40000), Succ(yvy30000)) → new_primEqNat(yvy40000, yvy30000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primCmpNat(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat(yvy4000, yvy3000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMinusNat(Succ(yvy90200), Succ(yvy21800)) → new_primMinusNat(yvy90200, yvy21800)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primPlusNat(Succ(yvy90200), Succ(yvy21800)) → new_primPlusNat(yvy90200, yvy21800)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMulNat(Succ(yvy40000), Succ(yvy30000)) → new_primMulNat(yvy40000, Succ(yvy30000))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_esEs(Right(yvy4000), Right(yvy3000), cb, app(app(app(ty_@3, db), dc), dd)) → new_esEs3(yvy4000, yvy3000, db, dc, dd)
new_esEs3(@3(yvy4000, yvy4001, yvy4002), @3(yvy3000, yvy3001, yvy3002), bbh, bag, app(ty_[], bdd)) → new_esEs0(yvy4002, yvy3002, bdd)
new_esEs3(@3(yvy4000, yvy4001, yvy4002), @3(yvy3000, yvy3001, yvy3002), bbh, app(app(ty_@2, bcd), bce), bah) → new_esEs1(yvy4001, yvy3001, bcd, bce)
new_esEs3(@3(yvy4000, yvy4001, yvy4002), @3(yvy3000, yvy3001, yvy3002), bbh, app(ty_Maybe, bcf), bah) → new_esEs2(yvy4001, yvy3001, bcf)
new_esEs1(@2(yvy4000, yvy4001), @2(yvy3000, yvy3001), app(app(ty_Either, eg), eh), fa) → new_esEs(yvy4000, yvy3000, eg, eh)
new_esEs1(@2(yvy4000, yvy4001), @2(yvy3000, yvy3001), gb, app(app(app(ty_@3, ha), hb), hc)) → new_esEs3(yvy4001, yvy3001, ha, hb, hc)
new_esEs(Left(yvy4000), Left(yvy3000), app(app(ty_@2, bd), be), bb) → new_esEs1(yvy4000, yvy3000, bd, be)
new_esEs3(@3(yvy4000, yvy4001, yvy4002), @3(yvy3000, yvy3001, yvy3002), app(app(ty_Either, bae), baf), bag, bah) → new_esEs(yvy4000, yvy3000, bae, baf)
new_esEs3(@3(yvy4000, yvy4001, yvy4002), @3(yvy3000, yvy3001, yvy3002), bbh, bag, app(app(app(ty_@3, bdh), bea), beb)) → new_esEs3(yvy4002, yvy3002, bdh, bea, beb)
new_esEs3(@3(yvy4000, yvy4001, yvy4002), @3(yvy3000, yvy3001, yvy3002), bbh, app(ty_[], bcc), bah) → new_esEs0(yvy4001, yvy3001, bcc)
new_esEs1(@2(yvy4000, yvy4001), @2(yvy3000, yvy3001), app(ty_[], fb), fa) → new_esEs0(yvy4000, yvy3000, fb)
new_esEs2(Just(yvy4000), Just(yvy3000), app(app(ty_Either, hd), he)) → new_esEs(yvy4000, yvy3000, hd, he)
new_esEs3(@3(yvy4000, yvy4001, yvy4002), @3(yvy3000, yvy3001, yvy3002), app(app(ty_@2, bbb), bbc), bag, bah) → new_esEs1(yvy4000, yvy3000, bbb, bbc)
new_esEs3(@3(yvy4000, yvy4001, yvy4002), @3(yvy3000, yvy3001, yvy3002), app(ty_[], bba), bag, bah) → new_esEs0(yvy4000, yvy3000, bba)
new_esEs3(@3(yvy4000, yvy4001, yvy4002), @3(yvy3000, yvy3001, yvy3002), bbh, bag, app(app(ty_Either, bdb), bdc)) → new_esEs(yvy4002, yvy3002, bdb, bdc)
new_esEs2(Just(yvy4000), Just(yvy3000), app(ty_Maybe, baa)) → new_esEs2(yvy4000, yvy3000, baa)
new_esEs1(@2(yvy4000, yvy4001), @2(yvy3000, yvy3001), gb, app(ty_[], ge)) → new_esEs0(yvy4001, yvy3001, ge)
new_esEs2(Just(yvy4000), Just(yvy3000), app(app(ty_@2, hg), hh)) → new_esEs1(yvy4000, yvy3000, hg, hh)
new_esEs(Left(yvy4000), Left(yvy3000), app(ty_Maybe, bf), bb) → new_esEs2(yvy4000, yvy3000, bf)
new_esEs1(@2(yvy4000, yvy4001), @2(yvy3000, yvy3001), app(ty_Maybe, ff), fa) → new_esEs2(yvy4000, yvy3000, ff)
new_esEs(Left(yvy4000), Left(yvy3000), app(app(app(ty_@3, bg), bh), ca), bb) → new_esEs3(yvy4000, yvy3000, bg, bh, ca)
new_esEs3(@3(yvy4000, yvy4001, yvy4002), @3(yvy3000, yvy3001, yvy3002), bbh, app(app(app(ty_@3, bcg), bch), bda), bah) → new_esEs3(yvy4001, yvy3001, bcg, bch, bda)
new_esEs1(@2(yvy4000, yvy4001), @2(yvy3000, yvy3001), gb, app(app(ty_@2, gf), gg)) → new_esEs1(yvy4001, yvy3001, gf, gg)
new_esEs(Right(yvy4000), Right(yvy3000), cb, app(app(ty_Either, cc), cd)) → new_esEs(yvy4000, yvy3000, cc, cd)
new_esEs0(:(yvy4000, yvy4001), :(yvy3000, yvy3001), app(app(ty_@2, dh), ea)) → new_esEs1(yvy4000, yvy3000, dh, ea)
new_esEs3(@3(yvy4000, yvy4001, yvy4002), @3(yvy3000, yvy3001, yvy3002), bbh, bag, app(app(ty_@2, bde), bdf)) → new_esEs1(yvy4002, yvy3002, bde, bdf)
new_esEs1(@2(yvy4000, yvy4001), @2(yvy3000, yvy3001), app(app(app(ty_@3, fg), fh), ga), fa) → new_esEs3(yvy4000, yvy3000, fg, fh, ga)
new_esEs2(Just(yvy4000), Just(yvy3000), app(ty_[], hf)) → new_esEs0(yvy4000, yvy3000, hf)
new_esEs3(@3(yvy4000, yvy4001, yvy4002), @3(yvy3000, yvy3001, yvy3002), bbh, app(app(ty_Either, bca), bcb), bah) → new_esEs(yvy4001, yvy3001, bca, bcb)
new_esEs1(@2(yvy4000, yvy4001), @2(yvy3000, yvy3001), app(app(ty_@2, fc), fd), fa) → new_esEs1(yvy4000, yvy3000, fc, fd)
new_esEs3(@3(yvy4000, yvy4001, yvy4002), @3(yvy3000, yvy3001, yvy3002), app(ty_Maybe, bbd), bag, bah) → new_esEs2(yvy4000, yvy3000, bbd)
new_esEs3(@3(yvy4000, yvy4001, yvy4002), @3(yvy3000, yvy3001, yvy3002), bbh, bag, app(ty_Maybe, bdg)) → new_esEs2(yvy4002, yvy3002, bdg)
new_esEs0(:(yvy4000, yvy4001), :(yvy3000, yvy3001), app(app(app(ty_@3, ec), ed), ee)) → new_esEs3(yvy4000, yvy3000, ec, ed, ee)
new_esEs(Right(yvy4000), Right(yvy3000), cb, app(app(ty_@2, cf), cg)) → new_esEs1(yvy4000, yvy3000, cf, cg)
new_esEs(Right(yvy4000), Right(yvy3000), cb, app(ty_Maybe, da)) → new_esEs2(yvy4000, yvy3000, da)
new_esEs0(:(yvy4000, yvy4001), :(yvy3000, yvy3001), app(ty_Maybe, eb)) → new_esEs2(yvy4000, yvy3000, eb)
new_esEs0(:(yvy4000, yvy4001), :(yvy3000, yvy3001), app(app(ty_Either, de), df)) → new_esEs(yvy4000, yvy3000, de, df)
new_esEs(Left(yvy4000), Left(yvy3000), app(ty_[], bc), bb) → new_esEs0(yvy4000, yvy3000, bc)
new_esEs0(:(yvy4000, yvy4001), :(yvy3000, yvy3001), app(ty_[], dg)) → new_esEs0(yvy4000, yvy3000, dg)
new_esEs1(@2(yvy4000, yvy4001), @2(yvy3000, yvy3001), gb, app(ty_Maybe, gh)) → new_esEs2(yvy4001, yvy3001, gh)
new_esEs2(Just(yvy4000), Just(yvy3000), app(app(app(ty_@3, bab), bac), bad)) → new_esEs3(yvy4000, yvy3000, bab, bac, bad)
new_esEs(Right(yvy4000), Right(yvy3000), cb, app(ty_[], ce)) → new_esEs0(yvy4000, yvy3000, ce)
new_esEs1(@2(yvy4000, yvy4001), @2(yvy3000, yvy3001), gb, app(app(ty_Either, gc), gd)) → new_esEs(yvy4001, yvy3001, gc, gd)
new_esEs0(:(yvy4000, yvy4001), :(yvy3000, yvy3001), ef) → new_esEs0(yvy4001, yvy3001, ef)
new_esEs(Left(yvy4000), Left(yvy3000), app(app(ty_Either, h), ba), bb) → new_esEs(yvy4000, yvy3000, h, ba)
new_esEs3(@3(yvy4000, yvy4001, yvy4002), @3(yvy3000, yvy3001, yvy3002), app(app(app(ty_@3, bbe), bbf), bbg), bag, bah) → new_esEs3(yvy4000, yvy3000, bbe, bbf, bbg)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_compare23(yvy174, yvy175, False, app(app(app(ty_@3, cce), ccf), ccg)) → new_ltEs(yvy174, yvy175, cce, ccf, ccg)
new_ltEs1(Left(yvy1600), Left(yvy1610), app(ty_Maybe, bhf), bha) → new_ltEs2(yvy1600, yvy1610, bhf)
new_compare21(Left(yvy1600), Left(yvy1610), False, app(app(ty_Either, app(app(app(ty_@3, bgf), bgg), bgh)), bha), bea) → new_ltEs(yvy1600, yvy1610, bgf, bgg, bgh)
new_compare22(yvy167, yvy168, False, ceh, app(ty_[], cga)) → new_ltEs3(yvy167, yvy168, cga)
new_compare21(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), False, app(app(ty_@2, app(ty_[], bfc)), bee), bea) → new_lt3(yvy1600, yvy1610, bfc)
new_compare20(yvy205, yvy206, yvy207, yvy208, False, app(app(ty_Either, he), hf), hb) → new_lt1(yvy205, yvy207, he, hf)
new_compare(@3(yvy400, yvy401, yvy402), @3(yvy300, yvy301, yvy302), h, ba, bb) → new_compare2(yvy400, yvy401, yvy402, yvy300, yvy301, yvy302, new_asAs(new_esEs4(yvy400, yvy300, h), new_asAs(new_esEs5(yvy401, yvy301, ba), new_esEs6(yvy402, yvy302, bb))), h, ba, bb)
new_compare2(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, False, cf, bf, app(app(ty_@2, ed), ee)) → new_ltEs0(yvy194, yvy197, ed, ee)
new_ltEs(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), bbd, bad, app(ty_Maybe, bde)) → new_ltEs2(yvy1602, yvy1612, bde)
new_lt0(yvy40, yvy30, fb, fc) → new_compare0(yvy40, yvy30, fb, fc)
new_ltEs1(Left(yvy1600), Left(yvy1610), app(app(ty_Either, bhd), bhe), bha) → new_ltEs1(yvy1600, yvy1610, bhd, bhe)
new_ltEs1(Right(yvy1600), Right(yvy1610), bhh, app(ty_Maybe, cah)) → new_ltEs2(yvy1600, yvy1610, cah)
new_compare3(:(yvy400, yvy401), :(yvy300, yvy301), cdf) → new_compare3(yvy401, yvy301, cdf)
new_compare21(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), False, app(app(ty_@2, bfd), app(ty_Maybe, bgd)), bea) → new_ltEs2(yvy1601, yvy1611, bgd)
new_compare21(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), False, app(app(app(ty_@3, app(ty_[], bbc)), bad), bae), bea) → new_lt3(yvy1600, yvy1610, bbc)
new_compare21(Left(yvy1600), Left(yvy1610), False, app(app(ty_Either, app(app(ty_Either, bhd), bhe)), bha), bea) → new_ltEs1(yvy1600, yvy1610, bhd, bhe)
new_compare20(yvy205, yvy206, yvy207, yvy208, False, fd, app(ty_Maybe, ge)) → new_ltEs2(yvy206, yvy208, ge)
new_compare21(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), False, app(app(app(ty_@3, app(app(ty_Either, bah), bba)), bad), bae), bea) → new_lt1(yvy1600, yvy1610, bah, bba)
new_compare21(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), False, app(app(ty_@2, bfd), app(app(ty_@2, bfh), bga)), bea) → new_ltEs0(yvy1601, yvy1611, bfh, bga)
new_ltEs2(Just(yvy1600), Just(yvy1610), app(ty_[], ccb)) → new_ltEs3(yvy1600, yvy1610, ccb)
new_compare21(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), False, app(app(app(ty_@3, bbd), bad), app(app(ty_Either, bdc), bdd)), bea) → new_ltEs1(yvy1602, yvy1612, bdc, bdd)
new_compare21(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), False, app(app(app(ty_@3, bbd), app(ty_[], bce)), bae), bea) → new_lt3(yvy1601, yvy1611, bce)
new_compare20(yvy205, yvy206, yvy207, yvy208, False, app(ty_Maybe, hg), hb) → new_lt2(yvy205, yvy207, hg)
new_compare21(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), False, app(app(ty_@2, app(app(ty_Either, beh), bfa)), bee), bea) → new_lt1(yvy1600, yvy1610, beh, bfa)
new_compare23(yvy174, yvy175, False, app(ty_Maybe, cdd)) → new_ltEs2(yvy174, yvy175, cdd)
new_ltEs0(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), bfd, app(app(app(ty_@3, bfe), bff), bfg)) → new_ltEs(yvy1601, yvy1611, bfe, bff, bfg)
new_compare21(Right(yvy1600), Right(yvy1610), False, app(app(ty_Either, bhh), app(app(ty_Either, caf), cag)), bea) → new_ltEs1(yvy1600, yvy1610, caf, cag)
new_lt1(yvy40, yvy30, bdg, bdh) → new_compare1(yvy40, yvy30, bdg, bdh)
new_compare21(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), False, app(app(app(ty_@3, bbd), bad), app(app(ty_@2, bda), bdb)), bea) → new_ltEs0(yvy1602, yvy1612, bda, bdb)
new_compare20(yvy205, yvy206, yvy207, yvy208, False, app(ty_[], hh), hb) → new_lt3(yvy205, yvy207, hh)
new_compare23(yvy174, yvy175, False, app(app(ty_Either, cdb), cdc)) → new_ltEs1(yvy174, yvy175, cdb, cdc)
new_compare0(@2(yvy400, yvy401), @2(yvy300, yvy301), fb, fc) → new_compare20(yvy400, yvy401, yvy300, yvy301, new_asAs(new_esEs7(yvy400, yvy300, fb), new_esEs8(yvy401, yvy301, fc)), fb, fc)
new_compare1(Right(yvy400), Right(yvy300), bdg, bdh) → new_compare22(yvy400, yvy300, new_esEs10(yvy400, yvy300, bdh), bdg, bdh)
new_ltEs0(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), bfd, app(ty_Maybe, bgd)) → new_ltEs2(yvy1601, yvy1611, bgd)
new_primCompAux(yvy400, yvy300, yvy115, app(app(app(ty_@3, cdg), cdh), cea)) → new_compare(yvy400, yvy300, cdg, cdh, cea)
new_compare20(yvy205, yvy206, yvy207, yvy208, False, app(app(ty_@2, hc), hd), hb) → new_lt0(yvy205, yvy207, hc, hd)
new_compare21(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), False, app(app(app(ty_@3, bbd), bad), app(ty_Maybe, bde)), bea) → new_ltEs2(yvy1602, yvy1612, bde)
new_ltEs0(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), app(ty_[], bfc), bee) → new_lt3(yvy1600, yvy1610, bfc)
new_ltEs2(Just(yvy1600), Just(yvy1610), app(app(ty_Either, cbg), cbh)) → new_ltEs1(yvy1600, yvy1610, cbg, cbh)
new_ltEs1(Right(yvy1600), Right(yvy1610), bhh, app(app(app(ty_@3, caa), cab), cac)) → new_ltEs(yvy1600, yvy1610, caa, cab, cac)
new_compare23(yvy174, yvy175, False, app(ty_[], cde)) → new_ltEs3(yvy174, yvy175, cde)
new_compare21(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), False, app(app(ty_@2, bfd), app(app(app(ty_@3, bfe), bff), bfg)), bea) → new_ltEs(yvy1601, yvy1611, bfe, bff, bfg)
new_compare21(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), False, app(app(app(ty_@3, bbd), app(ty_Maybe, bcd)), bae), bea) → new_lt2(yvy1601, yvy1611, bcd)
new_ltEs(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), app(app(ty_@2, baf), bag), bad, bae) → new_lt0(yvy1600, yvy1610, baf, bag)
new_compare21(Right(yvy1600), Right(yvy1610), False, app(app(ty_Either, bhh), app(ty_[], cba)), bea) → new_ltEs3(yvy1600, yvy1610, cba)
new_ltEs(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), app(app(ty_Either, bah), bba), bad, bae) → new_lt1(yvy1600, yvy1610, bah, bba)
new_compare2(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, False, app(ty_[], ce), bf, bg) → new_lt3(yvy192, yvy195, ce)
new_ltEs(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), bbd, app(app(app(ty_@3, bbe), bbf), bbg), bae) → new_lt(yvy1601, yvy1611, bbe, bbf, bbg)
new_compare23(yvy174, yvy175, False, app(app(ty_@2, cch), cda)) → new_ltEs0(yvy174, yvy175, cch, cda)
new_compare21(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), False, app(app(ty_@2, bfd), app(ty_[], bge)), bea) → new_ltEs3(yvy1601, yvy1611, bge)
new_ltEs(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), bbd, bad, app(ty_[], bdf)) → new_ltEs3(yvy1602, yvy1612, bdf)
new_compare2(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, False, cf, app(app(ty_Either, de), df), bg) → new_lt1(yvy193, yvy196, de, df)
new_ltEs(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), bbd, app(ty_[], bce), bae) → new_lt3(yvy1601, yvy1611, bce)
new_compare22(yvy167, yvy168, False, ceh, app(ty_Maybe, cfh)) → new_ltEs2(yvy167, yvy168, cfh)
new_ltEs1(Left(yvy1600), Left(yvy1610), app(ty_[], bhg), bha) → new_ltEs3(yvy1600, yvy1610, bhg)
new_primCompAux(yvy400, yvy300, yvy115, app(ty_[], ceg)) → new_compare3(yvy400, yvy300, ceg)
new_compare21(Left(yvy1600), Left(yvy1610), False, app(app(ty_Either, app(app(ty_@2, bhb), bhc)), bha), bea) → new_ltEs0(yvy1600, yvy1610, bhb, bhc)
new_ltEs1(Right(yvy1600), Right(yvy1610), bhh, app(app(ty_Either, caf), cag)) → new_ltEs1(yvy1600, yvy1610, caf, cag)
new_compare3(:(yvy400, yvy401), :(yvy300, yvy301), cdf) → new_primCompAux(yvy400, yvy300, new_compare5(yvy401, yvy301, cdf), cdf)
new_compare20(yvy205, yvy206, yvy207, yvy208, False, fd, app(app(ty_Either, gc), gd)) → new_ltEs1(yvy206, yvy208, gc, gd)
new_compare20(yvy205, yvy206, yvy207, yvy208, False, fd, app(app(ty_@2, ga), gb)) → new_ltEs0(yvy206, yvy208, ga, gb)
new_ltEs0(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), app(app(app(ty_@3, beb), bec), bed), bee) → new_lt(yvy1600, yvy1610, beb, bec, bed)
new_ltEs0(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), bfd, app(ty_[], bge)) → new_ltEs3(yvy1601, yvy1611, bge)
new_ltEs(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), app(ty_[], bbc), bad, bae) → new_lt3(yvy1600, yvy1610, bbc)
new_ltEs0(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), bfd, app(app(ty_Either, bgb), bgc)) → new_ltEs1(yvy1601, yvy1611, bgb, bgc)
new_compare21(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), False, app(app(ty_@2, app(app(ty_@2, bef), beg)), bee), bea) → new_lt0(yvy1600, yvy1610, bef, beg)
new_compare21(Just(yvy1600), Just(yvy1610), False, app(ty_Maybe, app(ty_[], ccb)), bea) → new_ltEs3(yvy1600, yvy1610, ccb)
new_ltEs(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), bbd, bad, app(app(app(ty_@3, bcf), bcg), bch)) → new_ltEs(yvy1602, yvy1612, bcf, bcg, bch)
new_ltEs(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), bbd, app(ty_Maybe, bcd), bae) → new_lt2(yvy1601, yvy1611, bcd)
new_ltEs2(Just(yvy1600), Just(yvy1610), app(app(ty_@2, cbe), cbf)) → new_ltEs0(yvy1600, yvy1610, cbe, cbf)
new_ltEs1(Left(yvy1600), Left(yvy1610), app(app(ty_@2, bhb), bhc), bha) → new_ltEs0(yvy1600, yvy1610, bhb, bhc)
new_ltEs1(Right(yvy1600), Right(yvy1610), bhh, app(app(ty_@2, cad), cae)) → new_ltEs0(yvy1600, yvy1610, cad, cae)
new_ltEs(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), bbd, bad, app(app(ty_@2, bda), bdb)) → new_ltEs0(yvy1602, yvy1612, bda, bdb)
new_compare2(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, False, app(ty_Maybe, cd), bf, bg) → new_lt2(yvy192, yvy195, cd)
new_ltEs0(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), app(app(ty_@2, bef), beg), bee) → new_lt0(yvy1600, yvy1610, bef, beg)
new_compare21(Just(yvy1600), Just(yvy1610), False, app(ty_Maybe, app(ty_Maybe, cca)), bea) → new_ltEs2(yvy1600, yvy1610, cca)
new_compare2(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, False, app(app(ty_Either, cb), cc), bf, bg) → new_lt1(yvy192, yvy195, cb, cc)
new_compare21(Right(yvy1600), Right(yvy1610), False, app(app(ty_Either, bhh), app(ty_Maybe, cah)), bea) → new_ltEs2(yvy1600, yvy1610, cah)
new_ltEs0(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), app(app(ty_Either, beh), bfa), bee) → new_lt1(yvy1600, yvy1610, beh, bfa)
new_compare21(Just(yvy1600), Just(yvy1610), False, app(ty_Maybe, app(app(app(ty_@3, cbb), cbc), cbd)), bea) → new_ltEs(yvy1600, yvy1610, cbb, cbc, cbd)
new_compare20(yvy205, yvy206, yvy207, yvy208, False, app(app(app(ty_@3, gg), gh), ha), hb) → new_lt(yvy205, yvy207, gg, gh, ha)
new_ltEs(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), bbd, app(app(ty_@2, bbh), bca), bae) → new_lt0(yvy1601, yvy1611, bbh, bca)
new_compare4(Just(yvy400), Just(yvy300), ccd) → new_compare23(yvy400, yvy300, new_esEs11(yvy400, yvy300, ccd), ccd)
new_compare21(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), False, app(app(ty_@2, bfd), app(app(ty_Either, bgb), bgc)), bea) → new_ltEs1(yvy1601, yvy1611, bgb, bgc)
new_compare2(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, False, cf, app(app(ty_@2, dc), dd), bg) → new_lt0(yvy193, yvy196, dc, dd)
new_compare21(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), False, app(app(ty_@2, app(ty_Maybe, bfb)), bee), bea) → new_lt2(yvy1600, yvy1610, bfb)
new_compare21(Left(yvy1600), Left(yvy1610), False, app(app(ty_Either, app(ty_[], bhg)), bha), bea) → new_ltEs3(yvy1600, yvy1610, bhg)
new_compare21(yvy160, yvy161, False, app(ty_[], ccc), bea) → new_compare3(yvy160, yvy161, ccc)
new_compare2(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, False, app(app(app(ty_@3, bc), bd), be), bf, bg) → new_lt(yvy192, yvy195, bc, bd, be)
new_compare21(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), False, app(app(ty_@2, app(app(app(ty_@3, beb), bec), bed)), bee), bea) → new_lt(yvy1600, yvy1610, beb, bec, bed)
new_compare22(yvy167, yvy168, False, ceh, app(app(app(ty_@3, cfa), cfb), cfc)) → new_ltEs(yvy167, yvy168, cfa, cfb, cfc)
new_ltEs1(Left(yvy1600), Left(yvy1610), app(app(app(ty_@3, bgf), bgg), bgh), bha) → new_ltEs(yvy1600, yvy1610, bgf, bgg, bgh)
new_compare1(Left(yvy400), Left(yvy300), bdg, bdh) → new_compare21(yvy400, yvy300, new_esEs9(yvy400, yvy300, bdg), bdg, bdh)
new_compare21(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), False, app(app(app(ty_@3, app(ty_Maybe, bbb)), bad), bae), bea) → new_lt2(yvy1600, yvy1610, bbb)
new_primCompAux(yvy400, yvy300, yvy115, app(app(ty_@2, ceb), cec)) → new_compare0(yvy400, yvy300, ceb, cec)
new_compare20(yvy205, yvy206, yvy207, yvy208, False, fd, app(app(app(ty_@3, ff), fg), fh)) → new_ltEs(yvy206, yvy208, ff, fg, fh)
new_compare21(Just(yvy1600), Just(yvy1610), False, app(ty_Maybe, app(app(ty_@2, cbe), cbf)), bea) → new_ltEs0(yvy1600, yvy1610, cbe, cbf)
new_compare21(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), False, app(app(app(ty_@3, bbd), app(app(ty_Either, bcb), bcc)), bae), bea) → new_lt1(yvy1601, yvy1611, bcb, bcc)
new_compare20(yvy205, yvy206, yvy207, yvy208, False, fd, app(ty_[], gf)) → new_ltEs3(yvy206, yvy208, gf)
new_compare21(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), False, app(app(app(ty_@3, bbd), bad), app(ty_[], bdf)), bea) → new_ltEs3(yvy1602, yvy1612, bdf)
new_compare21(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), False, app(app(app(ty_@3, bbd), app(app(ty_@2, bbh), bca)), bae), bea) → new_lt0(yvy1601, yvy1611, bbh, bca)
new_compare21(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), False, app(app(app(ty_@3, app(app(ty_@2, baf), bag)), bad), bae), bea) → new_lt0(yvy1600, yvy1610, baf, bag)
new_compare2(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, False, cf, app(app(app(ty_@3, cg), da), db), bg) → new_lt(yvy193, yvy196, cg, da, db)
new_ltEs1(Right(yvy1600), Right(yvy1610), bhh, app(ty_[], cba)) → new_ltEs3(yvy1600, yvy1610, cba)
new_primCompAux(yvy400, yvy300, yvy115, app(app(ty_Either, ced), cee)) → new_compare1(yvy400, yvy300, ced, cee)
new_compare2(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, False, app(app(ty_@2, bh), ca), bf, bg) → new_lt0(yvy192, yvy195, bh, ca)
new_compare21(Right(yvy1600), Right(yvy1610), False, app(app(ty_Either, bhh), app(app(app(ty_@3, caa), cab), cac)), bea) → new_ltEs(yvy1600, yvy1610, caa, cab, cac)
new_ltEs0(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), bfd, app(app(ty_@2, bfh), bga)) → new_ltEs0(yvy1601, yvy1611, bfh, bga)
new_compare21(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), False, app(app(app(ty_@3, app(app(app(ty_@3, baa), bab), bac)), bad), bae), bea) → new_lt(yvy1600, yvy1610, baa, bab, bac)
new_compare2(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, False, cf, app(ty_[], dh), bg) → new_lt3(yvy193, yvy196, dh)
new_ltEs(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), app(app(app(ty_@3, baa), bab), bac), bad, bae) → new_lt(yvy1600, yvy1610, baa, bab, bac)
new_compare2(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, False, cf, bf, app(ty_Maybe, eh)) → new_ltEs2(yvy194, yvy197, eh)
new_compare2(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, False, cf, app(ty_Maybe, dg), bg) → new_lt2(yvy193, yvy196, dg)
new_compare21(Just(yvy1600), Just(yvy1610), False, app(ty_Maybe, app(app(ty_Either, cbg), cbh)), bea) → new_ltEs1(yvy1600, yvy1610, cbg, cbh)
new_ltEs2(Just(yvy1600), Just(yvy1610), app(ty_Maybe, cca)) → new_ltEs2(yvy1600, yvy1610, cca)
new_ltEs3(yvy160, yvy161, ccc) → new_compare3(yvy160, yvy161, ccc)
new_compare22(yvy167, yvy168, False, ceh, app(app(ty_@2, cfd), cfe)) → new_ltEs0(yvy167, yvy168, cfd, cfe)
new_ltEs2(Just(yvy1600), Just(yvy1610), app(app(app(ty_@3, cbb), cbc), cbd)) → new_ltEs(yvy1600, yvy1610, cbb, cbc, cbd)
new_compare21(Left(yvy1600), Left(yvy1610), False, app(app(ty_Either, app(ty_Maybe, bhf)), bha), bea) → new_ltEs2(yvy1600, yvy1610, bhf)
new_compare2(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, False, cf, bf, app(ty_[], fa)) → new_ltEs3(yvy194, yvy197, fa)
new_lt2(yvy40, yvy30, ccd) → new_compare4(yvy40, yvy30, ccd)
new_primCompAux(yvy400, yvy300, yvy115, app(ty_Maybe, cef)) → new_compare4(yvy400, yvy300, cef)
new_compare21(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), False, app(app(app(ty_@3, bbd), bad), app(app(app(ty_@3, bcf), bcg), bch)), bea) → new_ltEs(yvy1602, yvy1612, bcf, bcg, bch)
new_compare22(yvy167, yvy168, False, ceh, app(app(ty_Either, cff), cfg)) → new_ltEs1(yvy167, yvy168, cff, cfg)
new_lt(yvy40, yvy30, h, ba, bb) → new_compare(yvy40, yvy30, h, ba, bb)
new_ltEs0(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), app(ty_Maybe, bfb), bee) → new_lt2(yvy1600, yvy1610, bfb)
new_compare21(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), False, app(app(app(ty_@3, bbd), app(app(app(ty_@3, bbe), bbf), bbg)), bae), bea) → new_lt(yvy1601, yvy1611, bbe, bbf, bbg)
new_compare2(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, False, cf, bf, app(app(app(ty_@3, ea), eb), ec)) → new_ltEs(yvy194, yvy197, ea, eb, ec)
new_ltEs(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), bbd, bad, app(app(ty_Either, bdc), bdd)) → new_ltEs1(yvy1602, yvy1612, bdc, bdd)
new_ltEs(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), app(ty_Maybe, bbb), bad, bae) → new_lt2(yvy1600, yvy1610, bbb)
new_compare2(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, False, cf, bf, app(app(ty_Either, ef), eg)) → new_ltEs1(yvy194, yvy197, ef, eg)
new_compare21(Right(yvy1600), Right(yvy1610), False, app(app(ty_Either, bhh), app(app(ty_@2, cad), cae)), bea) → new_ltEs0(yvy1600, yvy1610, cad, cae)
new_ltEs(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), bbd, app(app(ty_Either, bcb), bcc), bae) → new_lt1(yvy1601, yvy1611, bcb, bcc)
new_lt3(yvy40, yvy30, cdf) → new_compare3(yvy40, yvy30, cdf)

The TRS R consists of the following rules:

new_esEs29(yvy4002, yvy3002, ty_Integer) → new_esEs17(yvy4002, yvy3002)
new_esEs28(yvy4001, yvy3001, ty_Integer) → new_esEs17(yvy4001, yvy3001)
new_esEs30(yvy192, yvy195, app(app(app(ty_@3, bc), bd), be)) → new_esEs24(yvy192, yvy195, bc, bd, be)
new_esEs29(yvy4002, yvy3002, ty_Int) → new_esEs16(yvy4002, yvy3002)
new_compare10(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, False, yvy271, che, chf, chg) → new_compare11(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, yvy271, che, chf, chg)
new_esEs37(yvy4000, yvy3000, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_lt23(yvy1601, yvy1611, app(ty_Maybe, bcd)) → new_lt18(yvy1601, yvy1611, bcd)
new_esEs13(Right(yvy4000), Right(yvy3000), dfe, app(ty_Ratio, fgb)) → new_esEs14(yvy4000, yvy3000, fgb)
new_esEs39(yvy1600, yvy1610, ty_Ordering) → new_esEs19(yvy1600, yvy1610)
new_ltEs8(yvy160, yvy161) → new_fsEs(new_compare9(yvy160, yvy161))
new_esEs20(True, True) → True
new_lt5(yvy40, yvy30) → new_esEs26(new_compare8(yvy40, yvy30))
new_ltEs21(yvy160, yvy161, ty_@0) → new_ltEs11(yvy160, yvy161)
new_ltEs13(Just(yvy1600), Just(yvy1610), app(ty_[], ccb)) → new_ltEs15(yvy1600, yvy1610, ccb)
new_lt14(yvy40, yvy30) → new_esEs26(new_compare12(yvy40, yvy30))
new_compare8(Integer(yvy400), Integer(yvy300)) → new_primCmpInt(yvy400, yvy300)
new_esEs8(yvy401, yvy301, ty_Bool) → new_esEs20(yvy401, yvy301)
new_compare16(Right(yvy400), Right(yvy300), bdg, bdh) → new_compare25(yvy400, yvy300, new_esEs10(yvy400, yvy300, bdh), bdg, bdh)
new_ltEs10(False, True) → True
new_esEs28(yvy4001, yvy3001, app(ty_[], ddb)) → new_esEs15(yvy4001, yvy3001, ddb)
new_ltEs18(yvy194, yvy197, ty_Integer) → new_ltEs14(yvy194, yvy197)
new_compare15(yvy245, yvy246, True, ehd, ehe) → LT
new_ltEs18(yvy194, yvy197, app(ty_[], fa)) → new_ltEs15(yvy194, yvy197, fa)
new_ltEs4(Right(yvy1600), Right(yvy1610), bhh, ty_Int) → new_ltEs7(yvy1600, yvy1610)
new_lt22(yvy1600, yvy1610, app(ty_Ratio, fda)) → new_lt6(yvy1600, yvy1610, fda)
new_esEs15(:(yvy4000, yvy4001), :(yvy3000, yvy3001), dfh) → new_asAs(new_esEs34(yvy4000, yvy3000, dfh), new_esEs15(yvy4001, yvy3001, dfh))
new_esEs7(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_esEs12(Just(yvy4000), Just(yvy3000), app(app(ty_@2, cgg), cgh)) → new_esEs22(yvy4000, yvy3000, cgg, cgh)
new_esEs32(yvy4000, yvy3000, app(app(app(ty_@3, ebc), ebd), ebe)) → new_esEs24(yvy4000, yvy3000, ebc, ebd, ebe)
new_lt8(yvy193, yvy196, app(app(app(ty_@3, cg), da), db)) → new_lt9(yvy193, yvy196, cg, da, db)
new_esEs6(yvy402, yvy302, ty_Integer) → new_esEs17(yvy402, yvy302)
new_lt22(yvy1600, yvy1610, app(app(ty_@2, baf), bag)) → new_lt13(yvy1600, yvy1610, baf, bag)
new_esEs27(yvy4000, yvy3000, ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_esEs40(yvy1601, yvy1611, app(ty_[], bce)) → new_esEs15(yvy1601, yvy1611, bce)
new_compare16(Left(yvy400), Right(yvy300), bdg, bdh) → LT
new_esEs30(yvy192, yvy195, app(app(ty_Either, cb), cc)) → new_esEs13(yvy192, yvy195, cb, cc)
new_ltEs23(yvy206, yvy208, ty_Ordering) → new_ltEs6(yvy206, yvy208)
new_esEs28(yvy4001, yvy3001, ty_Float) → new_esEs21(yvy4001, yvy3001)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(ty_Ratio, dfc), bha) → new_ltEs17(yvy1600, yvy1610, dfc)
new_lt21(yvy205, yvy207, ty_Ordering) → new_lt10(yvy205, yvy207)
new_esEs29(yvy4002, yvy3002, app(app(app(ty_@3, deh), dfa), dfb)) → new_esEs24(yvy4002, yvy3002, deh, dfa, dfb)
new_primMulNat0(Zero, Zero) → Zero
new_esEs5(yvy401, yvy301, ty_Int) → new_esEs16(yvy401, yvy301)
new_esEs39(yvy1600, yvy1610, ty_Int) → new_esEs16(yvy1600, yvy1610)
new_ltEs24(yvy1602, yvy1612, ty_Ordering) → new_ltEs6(yvy1602, yvy1612)
new_lt21(yvy205, yvy207, ty_Double) → new_lt12(yvy205, yvy207)
new_ltEs22(yvy1601, yvy1611, app(ty_[], bge)) → new_ltEs15(yvy1601, yvy1611, bge)
new_ltEs20(yvy174, yvy175, ty_Float) → new_ltEs12(yvy174, yvy175)
new_sr(Integer(yvy4000), Integer(yvy3010)) → Integer(new_primMulInt(yvy4000, yvy3010))
new_ltEs4(Right(yvy1600), Right(yvy1610), bhh, ty_Bool) → new_ltEs10(yvy1600, yvy1610)
new_compare12(True, False) → GT
new_esEs13(Right(yvy4000), Right(yvy3000), dfe, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_esEs34(yvy4000, yvy3000, app(ty_Ratio, edf)) → new_esEs14(yvy4000, yvy3000, edf)
new_lt20(yvy1600, yvy1610, ty_Int) → new_lt11(yvy1600, yvy1610)
new_lt23(yvy1601, yvy1611, app(ty_[], bce)) → new_lt4(yvy1601, yvy1611, bce)
new_ltEs20(yvy174, yvy175, ty_@0) → new_ltEs11(yvy174, yvy175)
new_esEs4(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_esEs14(:%(yvy4000, yvy4001), :%(yvy3000, yvy3001), dfg) → new_asAs(new_esEs37(yvy4000, yvy3000, dfg), new_esEs38(yvy4001, yvy3001, dfg))
new_ltEs21(yvy160, yvy161, app(ty_Maybe, fcc)) → new_ltEs13(yvy160, yvy161, fcc)
new_lt23(yvy1601, yvy1611, ty_Ordering) → new_lt10(yvy1601, yvy1611)
new_ltEs24(yvy1602, yvy1612, ty_Char) → new_ltEs16(yvy1602, yvy1612)
new_ltEs13(Nothing, Just(yvy1610), fcc) → True
new_esEs27(yvy4000, yvy3000, app(ty_[], dbh)) → new_esEs15(yvy4000, yvy3000, dbh)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Integer) → new_ltEs14(yvy1600, yvy1610)
new_ltEs19(yvy167, yvy168, ty_Integer) → new_ltEs14(yvy167, yvy168)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(app(ty_@2, bhb), bhc), bha) → new_ltEs9(yvy1600, yvy1610, bhb, bhc)
new_ltEs18(yvy194, yvy197, ty_Char) → new_ltEs16(yvy194, yvy197)
new_ltEs4(Right(yvy1600), Right(yvy1610), bhh, ty_Ordering) → new_ltEs6(yvy1600, yvy1610)
new_esEs4(yvy400, yvy300, app(ty_[], dfh)) → new_esEs15(yvy400, yvy300, dfh)
new_esEs28(yvy4001, yvy3001, ty_@0) → new_esEs25(yvy4001, yvy3001)
new_esEs27(yvy4000, yvy3000, ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_ltEs20(yvy174, yvy175, app(ty_Maybe, cdd)) → new_ltEs13(yvy174, yvy175, cdd)
new_esEs35(yvy1600, yvy1610, ty_Float) → new_esEs21(yvy1600, yvy1610)
new_ltEs24(yvy1602, yvy1612, ty_Double) → new_ltEs8(yvy1602, yvy1612)
new_ltEs4(Right(yvy1600), Right(yvy1610), bhh, ty_Integer) → new_ltEs14(yvy1600, yvy1610)
new_esEs21(Float(yvy4000, yvy4001), Float(yvy3000, yvy3001)) → new_esEs16(new_sr0(yvy4000, yvy3000), new_sr0(yvy4001, yvy3001))
new_esEs13(Right(yvy4000), Right(yvy3000), dfe, ty_Float) → new_esEs21(yvy4000, yvy3000)
new_esEs33(yvy4001, yvy3001, app(ty_Ratio, ebh)) → new_esEs14(yvy4001, yvy3001, ebh)
new_ltEs22(yvy1601, yvy1611, ty_Ordering) → new_ltEs6(yvy1601, yvy1611)
new_esEs36(yvy205, yvy207, app(app(ty_Either, he), hf)) → new_esEs13(yvy205, yvy207, he, hf)
new_esEs36(yvy205, yvy207, ty_Char) → new_esEs23(yvy205, yvy207)
new_esEs6(yvy402, yvy302, ty_Ordering) → new_esEs19(yvy402, yvy302)
new_esEs31(yvy193, yvy196, ty_@0) → new_esEs25(yvy193, yvy196)
new_compare28(Just(yvy400), Just(yvy300), ccd) → new_compare26(yvy400, yvy300, new_esEs11(yvy400, yvy300, ccd), ccd)
new_ltEs23(yvy206, yvy208, app(app(ty_Either, gc), gd)) → new_ltEs4(yvy206, yvy208, gc, gd)
new_compare28(Nothing, Nothing, ccd) → EQ
new_compare18(GT, EQ) → GT
new_ltEs13(Just(yvy1600), Just(yvy1610), app(app(ty_Either, cbg), cbh)) → new_ltEs4(yvy1600, yvy1610, cbg, cbh)
new_esEs32(yvy4000, yvy3000, ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_ltEs22(yvy1601, yvy1611, app(app(app(ty_@3, bfe), bff), bfg)) → new_ltEs5(yvy1601, yvy1611, bfe, bff, bfg)
new_lt22(yvy1600, yvy1610, ty_Integer) → new_lt5(yvy1600, yvy1610)
new_esEs31(yvy193, yvy196, app(ty_Maybe, dg)) → new_esEs12(yvy193, yvy196, dg)
new_ltEs22(yvy1601, yvy1611, app(ty_Ratio, fcf)) → new_ltEs17(yvy1601, yvy1611, fcf)
new_lt22(yvy1600, yvy1610, ty_Float) → new_lt17(yvy1600, yvy1610)
new_compare16(Left(yvy400), Left(yvy300), bdg, bdh) → new_compare211(yvy400, yvy300, new_esEs9(yvy400, yvy300, bdg), bdg, bdh)
new_esEs24(@3(yvy4000, yvy4001, yvy4002), @3(yvy3000, yvy3001, yvy3002), dbb, dbc, dbd) → new_asAs(new_esEs27(yvy4000, yvy3000, dbb), new_asAs(new_esEs28(yvy4001, yvy3001, dbc), new_esEs29(yvy4002, yvy3002, dbd)))
new_esEs4(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_esEs7(yvy400, yvy300, app(ty_[], faa)) → new_esEs15(yvy400, yvy300, faa)
new_esEs10(yvy400, yvy300, app(ty_[], fdg)) → new_esEs15(yvy400, yvy300, fdg)
new_compare110(yvy279, yvy280, yvy281, yvy282, True, yvy284, efh, ega) → new_compare111(yvy279, yvy280, yvy281, yvy282, True, efh, ega)
new_esEs30(yvy192, yvy195, ty_Ordering) → new_esEs19(yvy192, yvy195)
new_esEs9(yvy400, yvy300, app(ty_[], efa)) → new_esEs15(yvy400, yvy300, efa)
new_compare210(yvy205, yvy206, yvy207, yvy208, False, fd, hb) → new_compare110(yvy205, yvy206, yvy207, yvy208, new_lt21(yvy205, yvy207, fd), new_asAs(new_esEs36(yvy205, yvy207, fd), new_ltEs23(yvy206, yvy208, hb)), fd, hb)
new_esEs38(yvy4001, yvy3001, ty_Integer) → new_esEs17(yvy4001, yvy3001)
new_ltEs18(yvy194, yvy197, ty_Bool) → new_ltEs10(yvy194, yvy197)
new_esEs8(yvy401, yvy301, app(ty_[], fbc)) → new_esEs15(yvy401, yvy301, fbc)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Bool, bha) → new_ltEs10(yvy1600, yvy1610)
new_esEs33(yvy4001, yvy3001, ty_Float) → new_esEs21(yvy4001, yvy3001)
new_lt8(yvy193, yvy196, app(ty_Ratio, dgf)) → new_lt6(yvy193, yvy196, dgf)
new_ltEs10(False, False) → True
new_esEs4(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_esEs32(yvy4000, yvy3000, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_compare31(yvy400, yvy300, ty_Char) → new_compare30(yvy400, yvy300)
new_esEs22(@2(yvy4000, yvy4001), @2(yvy3000, yvy3001), dga, dgb) → new_asAs(new_esEs32(yvy4000, yvy3000, dga), new_esEs33(yvy4001, yvy3001, dgb))
new_compare31(yvy400, yvy300, ty_@0) → new_compare27(yvy400, yvy300)
new_ltEs13(Just(yvy1600), Just(yvy1610), app(app(ty_@2, cbe), cbf)) → new_ltEs9(yvy1600, yvy1610, cbe, cbf)
new_esEs28(yvy4001, yvy3001, ty_Ordering) → new_esEs19(yvy4001, yvy3001)
new_esEs10(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_lt20(yvy1600, yvy1610, ty_Float) → new_lt17(yvy1600, yvy1610)
new_esEs17(Integer(yvy4000), Integer(yvy3000)) → new_primEqInt(yvy4000, yvy3000)
new_lt20(yvy1600, yvy1610, ty_Bool) → new_lt14(yvy1600, yvy1610)
new_lt7(yvy192, yvy195, ty_Bool) → new_lt14(yvy192, yvy195)
new_compare18(EQ, EQ) → EQ
new_ltEs24(yvy1602, yvy1612, app(ty_Ratio, fdc)) → new_ltEs17(yvy1602, yvy1612, fdc)
new_ltEs19(yvy167, yvy168, app(app(ty_Either, cff), cfg)) → new_ltEs4(yvy167, yvy168, cff, cfg)
new_esEs28(yvy4001, yvy3001, ty_Char) → new_esEs23(yvy4001, yvy3001)
new_pePe(False, yvy295) → yvy295
new_esEs19(GT, GT) → True
new_ltEs22(yvy1601, yvy1611, app(ty_Maybe, bgd)) → new_ltEs13(yvy1601, yvy1611, bgd)
new_lt22(yvy1600, yvy1610, ty_Char) → new_lt19(yvy1600, yvy1610)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Ordering, bha) → new_ltEs6(yvy1600, yvy1610)
new_ltEs24(yvy1602, yvy1612, ty_Integer) → new_ltEs14(yvy1602, yvy1612)
new_esEs8(yvy401, yvy301, app(app(app(ty_@3, fbg), fbh), fca)) → new_esEs24(yvy401, yvy301, fbg, fbh, fca)
new_ltEs21(yvy160, yvy161, ty_Double) → new_ltEs8(yvy160, yvy161)
new_ltEs24(yvy1602, yvy1612, app(app(ty_@2, bda), bdb)) → new_ltEs9(yvy1602, yvy1612, bda, bdb)
new_esEs6(yvy402, yvy302, ty_Char) → new_esEs23(yvy402, yvy302)
new_compare31(yvy400, yvy300, app(app(ty_@2, ceb), cec)) → new_compare29(yvy400, yvy300, ceb, cec)
new_compare11(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, False, che, chf, chg) → GT
new_lt20(yvy1600, yvy1610, ty_Double) → new_lt12(yvy1600, yvy1610)
new_esEs13(Right(yvy4000), Right(yvy3000), dfe, app(ty_[], fgc)) → new_esEs15(yvy4000, yvy3000, fgc)
new_esEs11(yvy400, yvy300, app(ty_Maybe, egh)) → new_esEs12(yvy400, yvy300, egh)
new_ltEs20(yvy174, yvy175, app(app(ty_Either, cdb), cdc)) → new_ltEs4(yvy174, yvy175, cdb, cdc)
new_esEs10(yvy400, yvy300, app(ty_Maybe, feb)) → new_esEs12(yvy400, yvy300, feb)
new_esEs34(yvy4000, yvy3000, app(ty_Maybe, eeb)) → new_esEs12(yvy4000, yvy3000, eeb)
new_esEs26(EQ) → False
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Int, bha) → new_ltEs7(yvy1600, yvy1610)
new_compare12(True, True) → EQ
new_esEs40(yvy1601, yvy1611, app(ty_Ratio, fdb)) → new_esEs14(yvy1601, yvy1611, fdb)
new_esEs29(yvy4002, yvy3002, app(app(ty_@2, dee), def)) → new_esEs22(yvy4002, yvy3002, dee, def)
new_ltEs6(GT, EQ) → False
new_lt9(yvy40, yvy30, h, ba, bb) → new_esEs26(new_compare17(yvy40, yvy30, h, ba, bb))
new_ltEs4(Left(yvy1600), Left(yvy1610), app(ty_Maybe, bhf), bha) → new_ltEs13(yvy1600, yvy1610, bhf)
new_ltEs4(Right(yvy1600), Right(yvy1610), bhh, app(app(ty_Either, caf), cag)) → new_ltEs4(yvy1600, yvy1610, caf, cag)
new_lt23(yvy1601, yvy1611, ty_Int) → new_lt11(yvy1601, yvy1611)
new_esEs11(yvy400, yvy300, app(ty_[], ege)) → new_esEs15(yvy400, yvy300, ege)
new_esEs9(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Int) → new_ltEs7(yvy1600, yvy1610)
new_lt7(yvy192, yvy195, app(ty_Ratio, dge)) → new_lt6(yvy192, yvy195, dge)
new_esEs11(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_ltEs4(Left(yvy1600), Right(yvy1610), bhh, bha) → True
new_ltEs19(yvy167, yvy168, ty_Int) → new_ltEs7(yvy167, yvy168)
new_ltEs18(yvy194, yvy197, ty_@0) → new_ltEs11(yvy194, yvy197)
new_ltEs24(yvy1602, yvy1612, ty_Int) → new_ltEs7(yvy1602, yvy1612)
new_compare18(GT, GT) → EQ
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_ltEs13(Nothing, Nothing, fcc) → True
new_esEs10(yvy400, yvy300, app(app(ty_@2, fdh), fea)) → new_esEs22(yvy400, yvy300, fdh, fea)
new_esEs35(yvy1600, yvy1610, app(app(ty_@2, bef), beg)) → new_esEs22(yvy1600, yvy1610, bef, beg)
new_esEs38(yvy4001, yvy3001, ty_Int) → new_esEs16(yvy4001, yvy3001)
new_esEs39(yvy1600, yvy1610, ty_Bool) → new_esEs20(yvy1600, yvy1610)
new_lt20(yvy1600, yvy1610, ty_@0) → new_lt15(yvy1600, yvy1610)
new_esEs36(yvy205, yvy207, ty_Bool) → new_esEs20(yvy205, yvy207)
new_lt20(yvy1600, yvy1610, ty_Char) → new_lt19(yvy1600, yvy1610)
new_esEs10(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_esEs13(Right(yvy4000), Right(yvy3000), dfe, ty_Double) → new_esEs18(yvy4000, yvy3000)
new_compare12(False, True) → LT
new_esEs8(yvy401, yvy301, ty_Float) → new_esEs21(yvy401, yvy301)
new_esEs9(yvy400, yvy300, app(ty_Ratio, eeh)) → new_esEs14(yvy400, yvy300, eeh)
new_esEs30(yvy192, yvy195, app(ty_Maybe, cd)) → new_esEs12(yvy192, yvy195, cd)
new_esEs29(yvy4002, yvy3002, ty_Ordering) → new_esEs19(yvy4002, yvy3002)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Integer, dff) → new_esEs17(yvy4000, yvy3000)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Char) → new_ltEs16(yvy1600, yvy1610)
new_esEs12(Nothing, Just(yvy3000), cgb) → False
new_esEs12(Just(yvy4000), Nothing, cgb) → False
new_esEs40(yvy1601, yvy1611, ty_Double) → new_esEs18(yvy1601, yvy1611)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Bool, dff) → new_esEs20(yvy4000, yvy3000)
new_esEs34(yvy4000, yvy3000, ty_@0) → new_esEs25(yvy4000, yvy3000)
new_compare18(LT, GT) → LT
new_esEs27(yvy4000, yvy3000, app(ty_Maybe, dcc)) → new_esEs12(yvy4000, yvy3000, dcc)
new_pePe(True, yvy295) → True
new_esEs39(yvy1600, yvy1610, app(ty_[], bbc)) → new_esEs15(yvy1600, yvy1610, bbc)
new_primEqNat0(Zero, Zero) → True
new_compare14(yvy236, yvy237, False, eab, eac) → GT
new_esEs27(yvy4000, yvy3000, app(app(ty_@2, dca), dcb)) → new_esEs22(yvy4000, yvy3000, dca, dcb)
new_lt21(yvy205, yvy207, app(ty_Maybe, hg)) → new_lt18(yvy205, yvy207, hg)
new_compare31(yvy400, yvy300, app(ty_Ratio, fhb)) → new_compare6(yvy400, yvy300, fhb)
new_esEs7(yvy400, yvy300, app(app(ty_@2, fab), fac)) → new_esEs22(yvy400, yvy300, fab, fac)
new_esEs32(yvy4000, yvy3000, ty_Char) → new_esEs23(yvy4000, yvy3000)
new_compare17(@3(yvy400, yvy401, yvy402), @3(yvy300, yvy301, yvy302), h, ba, bb) → new_compare24(yvy400, yvy401, yvy402, yvy300, yvy301, yvy302, new_asAs(new_esEs4(yvy400, yvy300, h), new_asAs(new_esEs5(yvy401, yvy301, ba), new_esEs6(yvy402, yvy302, bb))), h, ba, bb)
new_lt21(yvy205, yvy207, ty_Bool) → new_lt14(yvy205, yvy207)
new_lt21(yvy205, yvy207, app(app(ty_Either, he), hf)) → new_lt16(yvy205, yvy207, he, hf)
new_ltEs20(yvy174, yvy175, ty_Bool) → new_ltEs10(yvy174, yvy175)
new_ltEs20(yvy174, yvy175, ty_Integer) → new_ltEs14(yvy174, yvy175)
new_ltEs4(Right(yvy1600), Right(yvy1610), bhh, app(app(ty_@2, cad), cae)) → new_ltEs9(yvy1600, yvy1610, cad, cae)
new_compare31(yvy400, yvy300, ty_Ordering) → new_compare18(yvy400, yvy300)
new_esEs7(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_esEs12(Nothing, Nothing, cgb) → True
new_esEs33(yvy4001, yvy3001, ty_Int) → new_esEs16(yvy4001, yvy3001)
new_esEs9(yvy400, yvy300, app(app(ty_Either, eef), eeg)) → new_esEs13(yvy400, yvy300, eef, eeg)
new_esEs9(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_esEs9(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_ltEs23(yvy206, yvy208, ty_Integer) → new_ltEs14(yvy206, yvy208)
new_ltEs21(yvy160, yvy161, ty_Bool) → new_ltEs10(yvy160, yvy161)
new_esEs35(yvy1600, yvy1610, ty_Integer) → new_esEs17(yvy1600, yvy1610)
new_esEs6(yvy402, yvy302, ty_Float) → new_esEs21(yvy402, yvy302)
new_esEs36(yvy205, yvy207, app(ty_Maybe, hg)) → new_esEs12(yvy205, yvy207, hg)
new_esEs8(yvy401, yvy301, app(ty_Maybe, fbf)) → new_esEs12(yvy401, yvy301, fbf)
new_ltEs20(yvy174, yvy175, app(app(ty_@2, cch), cda)) → new_ltEs9(yvy174, yvy175, cch, cda)
new_ltEs19(yvy167, yvy168, ty_Ordering) → new_ltEs6(yvy167, yvy168)
new_ltEs22(yvy1601, yvy1611, app(app(ty_@2, bfh), bga)) → new_ltEs9(yvy1601, yvy1611, bfh, bga)
new_compare7(yvy40, yvy30) → new_primCmpInt(yvy40, yvy30)
new_esEs30(yvy192, yvy195, ty_@0) → new_esEs25(yvy192, yvy195)
new_esEs8(yvy401, yvy301, ty_Char) → new_esEs23(yvy401, yvy301)
new_esEs12(Just(yvy4000), Just(yvy3000), app(app(ty_Either, cgc), cgd)) → new_esEs13(yvy4000, yvy3000, cgc, cgd)
new_esEs33(yvy4001, yvy3001, app(ty_[], eca)) → new_esEs15(yvy4001, yvy3001, eca)
new_esEs33(yvy4001, yvy3001, ty_Bool) → new_esEs20(yvy4001, yvy3001)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Float) → new_ltEs12(yvy1600, yvy1610)
new_esEs29(yvy4002, yvy3002, ty_Bool) → new_esEs20(yvy4002, yvy3002)
new_compare31(yvy400, yvy300, ty_Double) → new_compare9(yvy400, yvy300)
new_esEs5(yvy401, yvy301, app(app(ty_Either, chh), daa)) → new_esEs13(yvy401, yvy301, chh, daa)
new_ltEs6(EQ, GT) → True
new_esEs34(yvy4000, yvy3000, ty_Double) → new_esEs18(yvy4000, yvy3000)
new_esEs34(yvy4000, yvy3000, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_esEs31(yvy193, yvy196, app(ty_[], dh)) → new_esEs15(yvy193, yvy196, dh)
new_ltEs18(yvy194, yvy197, ty_Ordering) → new_ltEs6(yvy194, yvy197)
new_esEs29(yvy4002, yvy3002, ty_Float) → new_esEs21(yvy4002, yvy3002)
new_lt23(yvy1601, yvy1611, ty_Bool) → new_lt14(yvy1601, yvy1611)
new_lt7(yvy192, yvy195, app(app(ty_@2, bh), ca)) → new_lt13(yvy192, yvy195, bh, ca)
new_esEs29(yvy4002, yvy3002, app(app(ty_Either, dea), deb)) → new_esEs13(yvy4002, yvy3002, dea, deb)
new_ltEs4(Right(yvy1600), Right(yvy1610), bhh, ty_@0) → new_ltEs11(yvy1600, yvy1610)
new_compare110(yvy279, yvy280, yvy281, yvy282, False, yvy284, efh, ega) → new_compare111(yvy279, yvy280, yvy281, yvy282, yvy284, efh, ega)
new_esEs11(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_lt21(yvy205, yvy207, app(app(ty_@2, hc), hd)) → new_lt13(yvy205, yvy207, hc, hd)
new_lt22(yvy1600, yvy1610, app(ty_Maybe, bbb)) → new_lt18(yvy1600, yvy1610, bbb)
new_esEs27(yvy4000, yvy3000, app(app(app(ty_@3, dcd), dce), dcf)) → new_esEs24(yvy4000, yvy3000, dcd, dce, dcf)
new_ltEs20(yvy174, yvy175, app(app(app(ty_@3, cce), ccf), ccg)) → new_ltEs5(yvy174, yvy175, cce, ccf, ccg)
new_esEs27(yvy4000, yvy3000, ty_Float) → new_esEs21(yvy4000, yvy3000)
new_lt22(yvy1600, yvy1610, app(app(ty_Either, bah), bba)) → new_lt16(yvy1600, yvy1610, bah, bba)
new_primEqInt(Neg(Succ(yvy40000)), Neg(Succ(yvy30000))) → new_primEqNat0(yvy40000, yvy30000)
new_esEs10(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_esEs30(yvy192, yvy195, ty_Float) → new_esEs21(yvy192, yvy195)
new_esEs32(yvy4000, yvy3000, app(app(ty_@2, eah), eba)) → new_esEs22(yvy4000, yvy3000, eah, eba)
new_esEs19(EQ, EQ) → True
new_ltEs19(yvy167, yvy168, app(ty_Ratio, eda)) → new_ltEs17(yvy167, yvy168, eda)
new_esEs25(@0, @0) → True
new_lt8(yvy193, yvy196, ty_Double) → new_lt12(yvy193, yvy196)
new_ltEs17(yvy160, yvy161, fcd) → new_fsEs(new_compare6(yvy160, yvy161, fcd))
new_esEs16(yvy400, yvy300) → new_primEqInt(yvy400, yvy300)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Float, bha) → new_ltEs12(yvy1600, yvy1610)
new_esEs9(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_compare111(yvy279, yvy280, yvy281, yvy282, True, efh, ega) → LT
new_ltEs21(yvy160, yvy161, app(ty_[], ccc)) → new_ltEs15(yvy160, yvy161, ccc)
new_esEs5(yvy401, yvy301, ty_Bool) → new_esEs20(yvy401, yvy301)
new_esEs35(yvy1600, yvy1610, ty_Double) → new_esEs18(yvy1600, yvy1610)
new_ltEs22(yvy1601, yvy1611, ty_Int) → new_ltEs7(yvy1601, yvy1611)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs4(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_lt20(yvy1600, yvy1610, app(ty_Maybe, bfb)) → new_lt18(yvy1600, yvy1610, bfb)
new_esEs27(yvy4000, yvy3000, ty_Char) → new_esEs23(yvy4000, yvy3000)
new_esEs40(yvy1601, yvy1611, app(app(app(ty_@3, bbe), bbf), bbg)) → new_esEs24(yvy1601, yvy1611, bbe, bbf, bbg)
new_esEs13(Left(yvy4000), Left(yvy3000), app(app(app(ty_@3, ffe), fff), ffg), dff) → new_esEs24(yvy4000, yvy3000, ffe, fff, ffg)
new_esEs8(yvy401, yvy301, ty_Double) → new_esEs18(yvy401, yvy301)
new_esEs35(yvy1600, yvy1610, ty_Ordering) → new_esEs19(yvy1600, yvy1610)
new_ltEs6(EQ, EQ) → True
new_esEs26(GT) → False
new_compare6(:%(yvy400, yvy401), :%(yvy300, yvy301), ty_Integer) → new_compare8(new_sr(yvy400, yvy301), new_sr(yvy300, yvy401))
new_ltEs20(yvy174, yvy175, app(ty_Ratio, edc)) → new_ltEs17(yvy174, yvy175, edc)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_@0) → new_ltEs11(yvy1600, yvy1610)
new_esEs28(yvy4001, yvy3001, ty_Int) → new_esEs16(yvy4001, yvy3001)
new_lt17(yvy40, yvy30) → new_esEs26(new_compare19(yvy40, yvy30))
new_compare211(yvy160, yvy161, False, fcb, bea) → new_compare14(yvy160, yvy161, new_ltEs21(yvy160, yvy161, fcb), fcb, bea)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(app(ty_Either, bhd), bhe), bha) → new_ltEs4(yvy1600, yvy1610, bhd, bhe)
new_esEs5(yvy401, yvy301, app(app(ty_@2, dad), dae)) → new_esEs22(yvy401, yvy301, dad, dae)
new_primEqInt(Neg(Succ(yvy40000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(yvy30000))) → False
new_esEs29(yvy4002, yvy3002, ty_@0) → new_esEs25(yvy4002, yvy3002)
new_esEs34(yvy4000, yvy3000, app(ty_[], edg)) → new_esEs15(yvy4000, yvy3000, edg)
new_esEs33(yvy4001, yvy3001, ty_Integer) → new_esEs17(yvy4001, yvy3001)
new_lt22(yvy1600, yvy1610, app(app(app(ty_@3, baa), bab), bac)) → new_lt9(yvy1600, yvy1610, baa, bab, bac)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Ordering, dff) → new_esEs19(yvy4000, yvy3000)
new_ltEs4(Right(yvy1600), Right(yvy1610), bhh, app(ty_Ratio, dfd)) → new_ltEs17(yvy1600, yvy1610, dfd)
new_ltEs6(GT, GT) → True
new_fsEs(yvy296) → new_not(new_esEs19(yvy296, GT))
new_esEs7(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_compare10(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, True, yvy271, che, chf, chg) → new_compare11(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, True, che, chf, chg)
new_esEs39(yvy1600, yvy1610, app(ty_Maybe, bbb)) → new_esEs12(yvy1600, yvy1610, bbb)
new_esEs5(yvy401, yvy301, app(ty_Maybe, daf)) → new_esEs12(yvy401, yvy301, daf)
new_esEs5(yvy401, yvy301, ty_Integer) → new_esEs17(yvy401, yvy301)
new_ltEs24(yvy1602, yvy1612, ty_@0) → new_ltEs11(yvy1602, yvy1612)
new_ltEs21(yvy160, yvy161, app(app(ty_Either, bhh), bha)) → new_ltEs4(yvy160, yvy161, bhh, bha)
new_esEs7(yvy400, yvy300, app(app(ty_Either, ehf), ehg)) → new_esEs13(yvy400, yvy300, ehf, ehg)
new_esEs39(yvy1600, yvy1610, app(ty_Ratio, fda)) → new_esEs14(yvy1600, yvy1610, fda)
new_esEs13(Right(yvy4000), Right(yvy3000), dfe, app(app(ty_@2, fgd), fge)) → new_esEs22(yvy4000, yvy3000, fgd, fge)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_esEs7(yvy400, yvy300, app(app(app(ty_@3, fae), faf), fag)) → new_esEs24(yvy400, yvy300, fae, faf, fag)
new_esEs4(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_ltEs24(yvy1602, yvy1612, app(app(app(ty_@3, bcf), bcg), bch)) → new_ltEs5(yvy1602, yvy1612, bcf, bcg, bch)
new_esEs6(yvy402, yvy302, ty_@0) → new_esEs25(yvy402, yvy302)
new_esEs31(yvy193, yvy196, ty_Bool) → new_esEs20(yvy193, yvy196)
new_esEs6(yvy402, yvy302, app(ty_Ratio, dhb)) → new_esEs14(yvy402, yvy302, dhb)
new_ltEs19(yvy167, yvy168, ty_@0) → new_ltEs11(yvy167, yvy168)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Int) → new_esEs16(yvy4000, yvy3000)
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_esEs19(LT, EQ) → False
new_esEs19(EQ, LT) → False
new_compare11(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, True, che, chf, chg) → LT
new_compare5(:(yvy400, yvy401), [], cdf) → GT
new_esEs35(yvy1600, yvy1610, ty_Char) → new_esEs23(yvy1600, yvy1610)
new_primEqInt(Pos(Succ(yvy40000)), Pos(Succ(yvy30000))) → new_primEqNat0(yvy40000, yvy30000)
new_compare28(Nothing, Just(yvy300), ccd) → LT
new_ltEs18(yvy194, yvy197, ty_Double) → new_ltEs8(yvy194, yvy197)
new_compare31(yvy400, yvy300, app(app(app(ty_@3, cdg), cdh), cea)) → new_compare17(yvy400, yvy300, cdg, cdh, cea)
new_esEs29(yvy4002, yvy3002, app(ty_Maybe, deg)) → new_esEs12(yvy4002, yvy3002, deg)
new_esEs31(yvy193, yvy196, ty_Double) → new_esEs18(yvy193, yvy196)
new_ltEs4(Right(yvy1600), Right(yvy1610), bhh, app(ty_[], cba)) → new_ltEs15(yvy1600, yvy1610, cba)
new_esEs13(Left(yvy4000), Left(yvy3000), app(app(ty_@2, ffb), ffc), dff) → new_esEs22(yvy4000, yvy3000, ffb, ffc)
new_esEs30(yvy192, yvy195, ty_Int) → new_esEs16(yvy192, yvy195)
new_esEs5(yvy401, yvy301, app(ty_[], dac)) → new_esEs15(yvy401, yvy301, dac)
new_lt7(yvy192, yvy195, app(ty_Maybe, cd)) → new_lt18(yvy192, yvy195, cd)
new_esEs18(Double(yvy4000, yvy4001), Double(yvy3000, yvy3001)) → new_esEs16(new_sr0(yvy4000, yvy3000), new_sr0(yvy4001, yvy3001))
new_primEqNat0(Succ(yvy40000), Succ(yvy30000)) → new_primEqNat0(yvy40000, yvy30000)
new_esEs27(yvy4000, yvy3000, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_esEs8(yvy401, yvy301, ty_@0) → new_esEs25(yvy401, yvy301)
new_esEs6(yvy402, yvy302, ty_Bool) → new_esEs20(yvy402, yvy302)
new_esEs35(yvy1600, yvy1610, app(ty_Maybe, bfb)) → new_esEs12(yvy1600, yvy1610, bfb)
new_esEs40(yvy1601, yvy1611, app(app(ty_Either, bcb), bcc)) → new_esEs13(yvy1601, yvy1611, bcb, bcc)
new_esEs7(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_compare5(:(yvy400, yvy401), :(yvy300, yvy301), cdf) → new_primCompAux0(yvy400, yvy300, new_compare5(yvy401, yvy301, cdf), cdf)
new_ltEs20(yvy174, yvy175, ty_Char) → new_ltEs16(yvy174, yvy175)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Char, bha) → new_ltEs16(yvy1600, yvy1610)
new_primCompAux00(yvy180, LT) → LT
new_esEs33(yvy4001, yvy3001, app(app(ty_@2, ecb), ecc)) → new_esEs22(yvy4001, yvy3001, ecb, ecc)
new_ltEs4(Right(yvy1600), Right(yvy1610), bhh, ty_Float) → new_ltEs12(yvy1600, yvy1610)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Bool) → new_ltEs10(yvy1600, yvy1610)
new_esEs40(yvy1601, yvy1611, ty_Bool) → new_esEs20(yvy1601, yvy1611)
new_esEs30(yvy192, yvy195, app(ty_Ratio, dge)) → new_esEs14(yvy192, yvy195, dge)
new_lt23(yvy1601, yvy1611, app(app(ty_Either, bcb), bcc)) → new_lt16(yvy1601, yvy1611, bcb, bcc)
new_esEs15([], [], dfh) → True
new_lt8(yvy193, yvy196, app(ty_[], dh)) → new_lt4(yvy193, yvy196, dh)
new_ltEs23(yvy206, yvy208, ty_Bool) → new_ltEs10(yvy206, yvy208)
new_primEqInt(Pos(Succ(yvy40000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(yvy30000))) → False
new_esEs11(yvy400, yvy300, app(app(app(ty_@3, eha), ehb), ehc)) → new_esEs24(yvy400, yvy300, eha, ehb, ehc)
new_compare13(yvy252, yvy253, True, dgc) → LT
new_lt8(yvy193, yvy196, app(app(ty_@2, dc), dd)) → new_lt13(yvy193, yvy196, dc, dd)
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_esEs33(yvy4001, yvy3001, app(app(app(ty_@3, ece), ecf), ecg)) → new_esEs24(yvy4001, yvy3001, ece, ecf, ecg)
new_compare18(GT, LT) → GT
new_esEs5(yvy401, yvy301, ty_Ordering) → new_esEs19(yvy401, yvy301)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_esEs29(yvy4002, yvy3002, ty_Double) → new_esEs18(yvy4002, yvy3002)
new_ltEs21(yvy160, yvy161, app(ty_Ratio, fcd)) → new_ltEs17(yvy160, yvy161, fcd)
new_esEs36(yvy205, yvy207, ty_Double) → new_esEs18(yvy205, yvy207)
new_lt20(yvy1600, yvy1610, app(ty_Ratio, fce)) → new_lt6(yvy1600, yvy1610, fce)
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_esEs13(Right(yvy4000), Right(yvy3000), dfe, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_esEs34(yvy4000, yvy3000, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_esEs32(yvy4000, yvy3000, app(ty_Maybe, ebb)) → new_esEs12(yvy4000, yvy3000, ebb)
new_esEs7(yvy400, yvy300, app(ty_Maybe, fad)) → new_esEs12(yvy400, yvy300, fad)
new_primEqInt(Pos(Succ(yvy40000)), Neg(yvy3000)) → False
new_primEqInt(Neg(Succ(yvy40000)), Pos(yvy3000)) → False
new_esEs8(yvy401, yvy301, app(app(ty_Either, fah), fba)) → new_esEs13(yvy401, yvy301, fah, fba)
new_esEs35(yvy1600, yvy1610, ty_Int) → new_esEs16(yvy1600, yvy1610)
new_ltEs18(yvy194, yvy197, app(app(ty_Either, ef), eg)) → new_ltEs4(yvy194, yvy197, ef, eg)
new_ltEs11(yvy160, yvy161) → new_fsEs(new_compare27(yvy160, yvy161))
new_esEs20(False, False) → True
new_esEs32(yvy4000, yvy3000, app(ty_Ratio, eaf)) → new_esEs14(yvy4000, yvy3000, eaf)
new_ltEs22(yvy1601, yvy1611, ty_@0) → new_ltEs11(yvy1601, yvy1611)
new_esEs12(Just(yvy4000), Just(yvy3000), app(app(app(ty_@3, chb), chc), chd)) → new_esEs24(yvy4000, yvy3000, chb, chc, chd)
new_esEs11(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_esEs10(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_ltEs24(yvy1602, yvy1612, ty_Bool) → new_ltEs10(yvy1602, yvy1612)
new_lt7(yvy192, yvy195, ty_Double) → new_lt12(yvy192, yvy195)
new_lt20(yvy1600, yvy1610, app(app(ty_@2, bef), beg)) → new_lt13(yvy1600, yvy1610, bef, beg)
new_esEs31(yvy193, yvy196, ty_Integer) → new_esEs17(yvy193, yvy196)
new_primEqInt(Pos(Zero), Neg(Succ(yvy30000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(yvy30000))) → False
new_ltEs19(yvy167, yvy168, app(app(ty_@2, cfd), cfe)) → new_ltEs9(yvy167, yvy168, cfd, cfe)
new_lt7(yvy192, yvy195, app(app(app(ty_@3, bc), bd), be)) → new_lt9(yvy192, yvy195, bc, bd, be)
new_compare18(EQ, LT) → GT
new_primCompAux00(yvy180, EQ) → yvy180
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_lt18(yvy40, yvy30, ccd) → new_esEs26(new_compare28(yvy40, yvy30, ccd))
new_esEs10(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_lt23(yvy1601, yvy1611, ty_Char) → new_lt19(yvy1601, yvy1611)
new_esEs36(yvy205, yvy207, app(ty_Ratio, fcg)) → new_esEs14(yvy205, yvy207, fcg)
new_lt22(yvy1600, yvy1610, app(ty_[], bbc)) → new_lt4(yvy1600, yvy1610, bbc)
new_esEs13(Left(yvy4000), Left(yvy3000), app(app(ty_Either, fef), feg), dff) → new_esEs13(yvy4000, yvy3000, fef, feg)
new_ltEs18(yvy194, yvy197, app(app(ty_@2, ed), ee)) → new_ltEs9(yvy194, yvy197, ed, ee)
new_ltEs24(yvy1602, yvy1612, app(ty_[], bdf)) → new_ltEs15(yvy1602, yvy1612, bdf)
new_lt20(yvy1600, yvy1610, app(app(app(ty_@3, beb), bec), bed)) → new_lt9(yvy1600, yvy1610, beb, bec, bed)
new_ltEs23(yvy206, yvy208, app(ty_[], gf)) → new_ltEs15(yvy206, yvy208, gf)
new_compare31(yvy400, yvy300, app(ty_[], ceg)) → new_compare5(yvy400, yvy300, ceg)
new_lt23(yvy1601, yvy1611, app(app(app(ty_@3, bbe), bbf), bbg)) → new_lt9(yvy1601, yvy1611, bbe, bbf, bbg)
new_esEs7(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_esEs9(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_ltEs23(yvy206, yvy208, ty_@0) → new_ltEs11(yvy206, yvy208)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(ty_[], bhg), bha) → new_ltEs15(yvy1600, yvy1610, bhg)
new_esEs5(yvy401, yvy301, app(app(app(ty_@3, dag), dah), dba)) → new_esEs24(yvy401, yvy301, dag, dah, dba)
new_esEs40(yvy1601, yvy1611, ty_@0) → new_esEs25(yvy1601, yvy1611)
new_lt15(yvy40, yvy30) → new_esEs26(new_compare27(yvy40, yvy30))
new_esEs28(yvy4001, yvy3001, app(ty_Ratio, dda)) → new_esEs14(yvy4001, yvy3001, dda)
new_esEs30(yvy192, yvy195, ty_Double) → new_esEs18(yvy192, yvy195)
new_compare26(yvy174, yvy175, True, edb) → EQ
new_ltEs23(yvy206, yvy208, ty_Double) → new_ltEs8(yvy206, yvy208)
new_ltEs4(Right(yvy1600), Right(yvy1610), bhh, ty_Char) → new_ltEs16(yvy1600, yvy1610)
new_esEs13(Right(yvy4000), Right(yvy3000), dfe, ty_@0) → new_esEs25(yvy4000, yvy3000)
new_ltEs4(Right(yvy1600), Right(yvy1610), bhh, app(ty_Maybe, cah)) → new_ltEs13(yvy1600, yvy1610, cah)
new_esEs11(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_lt23(yvy1601, yvy1611, ty_Float) → new_lt17(yvy1601, yvy1611)
new_esEs30(yvy192, yvy195, app(app(ty_@2, bh), ca)) → new_esEs22(yvy192, yvy195, bh, ca)
new_compare18(EQ, GT) → LT
new_not(False) → True
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Ordering) → new_ltEs6(yvy1600, yvy1610)
new_ltEs4(Right(yvy1600), Left(yvy1610), bhh, bha) → False
new_lt8(yvy193, yvy196, ty_Integer) → new_lt5(yvy193, yvy196)
new_ltEs23(yvy206, yvy208, app(ty_Ratio, fch)) → new_ltEs17(yvy206, yvy208, fch)
new_ltEs22(yvy1601, yvy1611, app(app(ty_Either, bgb), bgc)) → new_ltEs4(yvy1601, yvy1611, bgb, bgc)
new_esEs10(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_esEs33(yvy4001, yvy3001, ty_Double) → new_esEs18(yvy4001, yvy3001)
new_esEs32(yvy4000, yvy3000, ty_Float) → new_esEs21(yvy4000, yvy3000)
new_esEs8(yvy401, yvy301, ty_Ordering) → new_esEs19(yvy401, yvy301)
new_esEs40(yvy1601, yvy1611, ty_Integer) → new_esEs17(yvy1601, yvy1611)
new_compare31(yvy400, yvy300, app(ty_Maybe, cef)) → new_compare28(yvy400, yvy300, cef)
new_esEs6(yvy402, yvy302, app(app(ty_@2, dhd), dhe)) → new_esEs22(yvy402, yvy302, dhd, dhe)
new_ltEs24(yvy1602, yvy1612, ty_Float) → new_ltEs12(yvy1602, yvy1612)
new_esEs31(yvy193, yvy196, app(ty_Ratio, dgf)) → new_esEs14(yvy193, yvy196, dgf)
new_esEs36(yvy205, yvy207, ty_Int) → new_esEs16(yvy205, yvy207)
new_esEs36(yvy205, yvy207, ty_Integer) → new_esEs17(yvy205, yvy207)
new_lt21(yvy205, yvy207, app(app(app(ty_@3, gg), gh), ha)) → new_lt9(yvy205, yvy207, gg, gh, ha)
new_esEs9(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_esEs11(yvy400, yvy300, app(app(ty_Either, egb), egc)) → new_esEs13(yvy400, yvy300, egb, egc)
new_esEs6(yvy402, yvy302, ty_Int) → new_esEs16(yvy402, yvy302)
new_lt20(yvy1600, yvy1610, app(app(ty_Either, beh), bfa)) → new_lt16(yvy1600, yvy1610, beh, bfa)
new_esEs32(yvy4000, yvy3000, app(ty_[], eag)) → new_esEs15(yvy4000, yvy3000, eag)
new_esEs4(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_esEs13(Left(yvy4000), Left(yvy3000), app(ty_Maybe, ffd), dff) → new_esEs12(yvy4000, yvy3000, ffd)
new_esEs9(yvy400, yvy300, app(app(ty_@2, efb), efc)) → new_esEs22(yvy400, yvy300, efb, efc)
new_esEs6(yvy402, yvy302, app(app(ty_Either, dgh), dha)) → new_esEs13(yvy402, yvy302, dgh, dha)
new_esEs28(yvy4001, yvy3001, app(app(ty_Either, dcg), dch)) → new_esEs13(yvy4001, yvy3001, dcg, dch)
new_esEs19(LT, GT) → False
new_esEs19(GT, LT) → False
new_compare28(Just(yvy400), Nothing, ccd) → GT
new_ltEs19(yvy167, yvy168, app(ty_[], cga)) → new_ltEs15(yvy167, yvy168, cga)
new_lt6(yvy40, yvy30, dgd) → new_esEs26(new_compare6(yvy40, yvy30, dgd))
new_lt21(yvy205, yvy207, ty_Char) → new_lt19(yvy205, yvy207)
new_esEs5(yvy401, yvy301, ty_Char) → new_esEs23(yvy401, yvy301)
new_lt8(yvy193, yvy196, ty_Ordering) → new_lt10(yvy193, yvy196)
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_lt4(yvy40, yvy30, cdf) → new_esEs26(new_compare5(yvy40, yvy30, cdf))
new_primMulInt(Pos(yvy4000), Pos(yvy3000)) → Pos(new_primMulNat0(yvy4000, yvy3000))
new_lt8(yvy193, yvy196, app(ty_Maybe, dg)) → new_lt18(yvy193, yvy196, dg)
new_esEs30(yvy192, yvy195, ty_Char) → new_esEs23(yvy192, yvy195)
new_esEs34(yvy4000, yvy3000, app(app(ty_@2, edh), eea)) → new_esEs22(yvy4000, yvy3000, edh, eea)
new_esEs5(yvy401, yvy301, ty_Float) → new_esEs21(yvy401, yvy301)
new_ltEs18(yvy194, yvy197, ty_Int) → new_ltEs7(yvy194, yvy197)
new_compare31(yvy400, yvy300, ty_Bool) → new_compare12(yvy400, yvy300)
new_primMulInt(Neg(yvy4000), Neg(yvy3000)) → Pos(new_primMulNat0(yvy4000, yvy3000))
new_esEs6(yvy402, yvy302, app(app(app(ty_@3, dhg), dhh), eaa)) → new_esEs24(yvy402, yvy302, dhg, dhh, eaa)
new_esEs10(yvy400, yvy300, app(app(ty_Either, fdd), fde)) → new_esEs13(yvy400, yvy300, fdd, fde)
new_lt8(yvy193, yvy196, ty_Float) → new_lt17(yvy193, yvy196)
new_primEqNat0(Zero, Succ(yvy30000)) → False
new_primEqNat0(Succ(yvy40000), Zero) → False
new_esEs4(yvy400, yvy300, app(ty_Ratio, dfg)) → new_esEs14(yvy400, yvy300, dfg)
new_primPlusNat0(Zero, Zero) → Zero
new_ltEs6(LT, LT) → True
new_compare31(yvy400, yvy300, ty_Integer) → new_compare8(yvy400, yvy300)
new_compare25(yvy167, yvy168, True, ceh, ech) → EQ
new_ltEs6(EQ, LT) → False
new_esEs27(yvy4000, yvy3000, app(app(ty_Either, dbe), dbf)) → new_esEs13(yvy4000, yvy3000, dbe, dbf)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs11(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_ltEs20(yvy174, yvy175, ty_Int) → new_ltEs7(yvy174, yvy175)
new_esEs5(yvy401, yvy301, ty_Double) → new_esEs18(yvy401, yvy301)
new_esEs36(yvy205, yvy207, ty_@0) → new_esEs25(yvy205, yvy207)
new_lt8(yvy193, yvy196, ty_Bool) → new_lt14(yvy193, yvy196)
new_esEs31(yvy193, yvy196, app(app(ty_@2, dc), dd)) → new_esEs22(yvy193, yvy196, dc, dd)
new_lt23(yvy1601, yvy1611, app(ty_Ratio, fdb)) → new_lt6(yvy1601, yvy1611, fdb)
new_lt12(yvy40, yvy30) → new_esEs26(new_compare9(yvy40, yvy30))
new_esEs32(yvy4000, yvy3000, ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_ltEs22(yvy1601, yvy1611, ty_Double) → new_ltEs8(yvy1601, yvy1611)
new_esEs12(Just(yvy4000), Just(yvy3000), app(ty_[], cgf)) → new_esEs15(yvy4000, yvy3000, cgf)
new_lt23(yvy1601, yvy1611, ty_Double) → new_lt12(yvy1601, yvy1611)
new_esEs9(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_esEs35(yvy1600, yvy1610, app(app(app(ty_@3, beb), bec), bed)) → new_esEs24(yvy1600, yvy1610, beb, bec, bed)
new_esEs13(Left(yvy4000), Left(yvy3000), app(ty_Ratio, feh), dff) → new_esEs14(yvy4000, yvy3000, feh)
new_esEs32(yvy4000, yvy3000, ty_@0) → new_esEs25(yvy4000, yvy3000)
new_compare19(Float(yvy400, yvy401), Float(yvy300, yvy301)) → new_compare7(new_sr0(yvy400, yvy300), new_sr0(yvy401, yvy301))
new_ltEs19(yvy167, yvy168, ty_Bool) → new_ltEs10(yvy167, yvy168)
new_ltEs21(yvy160, yvy161, app(app(app(ty_@3, bbd), bad), bae)) → new_ltEs5(yvy160, yvy161, bbd, bad, bae)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Integer, bha) → new_ltEs14(yvy1600, yvy1610)
new_esEs6(yvy402, yvy302, app(ty_[], dhc)) → new_esEs15(yvy402, yvy302, dhc)
new_ltEs24(yvy1602, yvy1612, app(ty_Maybe, bde)) → new_ltEs13(yvy1602, yvy1612, bde)
new_ltEs22(yvy1601, yvy1611, ty_Float) → new_ltEs12(yvy1601, yvy1611)
new_compare13(yvy252, yvy253, False, dgc) → GT
new_ltEs18(yvy194, yvy197, app(app(app(ty_@3, ea), eb), ec)) → new_ltEs5(yvy194, yvy197, ea, eb, ec)
new_ltEs12(yvy160, yvy161) → new_fsEs(new_compare19(yvy160, yvy161))
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_ltEs22(yvy1601, yvy1611, ty_Char) → new_ltEs16(yvy1601, yvy1611)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_esEs31(yvy193, yvy196, app(app(app(ty_@3, cg), da), db)) → new_esEs24(yvy193, yvy196, cg, da, db)
new_esEs12(Just(yvy4000), Just(yvy3000), app(ty_Ratio, cge)) → new_esEs14(yvy4000, yvy3000, cge)
new_lt21(yvy205, yvy207, ty_Integer) → new_lt5(yvy205, yvy207)
new_esEs20(False, True) → False
new_esEs20(True, False) → False
new_esEs4(yvy400, yvy300, app(app(app(ty_@3, dbb), dbc), dbd)) → new_esEs24(yvy400, yvy300, dbb, dbc, dbd)
new_esEs36(yvy205, yvy207, app(app(ty_@2, hc), hd)) → new_esEs22(yvy205, yvy207, hc, hd)
new_sr0(yvy400, yvy300) → new_primMulInt(yvy400, yvy300)
new_compare15(yvy245, yvy246, False, ehd, ehe) → GT
new_ltEs22(yvy1601, yvy1611, ty_Integer) → new_ltEs14(yvy1601, yvy1611)
new_ltEs18(yvy194, yvy197, ty_Float) → new_ltEs12(yvy194, yvy197)
new_esEs36(yvy205, yvy207, app(app(app(ty_@3, gg), gh), ha)) → new_esEs24(yvy205, yvy207, gg, gh, ha)
new_ltEs15(yvy160, yvy161, ccc) → new_fsEs(new_compare5(yvy160, yvy161, ccc))
new_ltEs19(yvy167, yvy168, ty_Double) → new_ltEs8(yvy167, yvy168)
new_esEs40(yvy1601, yvy1611, app(app(ty_@2, bbh), bca)) → new_esEs22(yvy1601, yvy1611, bbh, bca)
new_esEs7(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_esEs34(yvy4000, yvy3000, ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_esEs32(yvy4000, yvy3000, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_esEs19(LT, LT) → True
new_esEs15([], :(yvy3000, yvy3001), dfh) → False
new_esEs15(:(yvy4000, yvy4001), [], dfh) → False
new_esEs40(yvy1601, yvy1611, ty_Int) → new_esEs16(yvy1601, yvy1611)
new_esEs28(yvy4001, yvy3001, app(app(app(ty_@3, ddf), ddg), ddh)) → new_esEs24(yvy4001, yvy3001, ddf, ddg, ddh)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_@0) → new_esEs25(yvy4000, yvy3000)
new_compare5([], :(yvy300, yvy301), cdf) → LT
new_compare29(@2(yvy400, yvy401), @2(yvy300, yvy301), fb, fc) → new_compare210(yvy400, yvy401, yvy300, yvy301, new_asAs(new_esEs7(yvy400, yvy300, fb), new_esEs8(yvy401, yvy301, fc)), fb, fc)
new_esEs19(EQ, GT) → False
new_esEs19(GT, EQ) → False
new_lt13(yvy40, yvy30, fb, fc) → new_esEs26(new_compare29(yvy40, yvy30, fb, fc))
new_ltEs13(Just(yvy1600), Just(yvy1610), app(ty_Maybe, cca)) → new_ltEs13(yvy1600, yvy1610, cca)
new_esEs11(yvy400, yvy300, app(ty_Ratio, egd)) → new_esEs14(yvy400, yvy300, egd)
new_esEs33(yvy4001, yvy3001, app(ty_Maybe, ecd)) → new_esEs12(yvy4001, yvy3001, ecd)
new_esEs35(yvy1600, yvy1610, app(ty_Ratio, fce)) → new_esEs14(yvy1600, yvy1610, fce)
new_esEs33(yvy4001, yvy3001, ty_Char) → new_esEs23(yvy4001, yvy3001)
new_esEs37(yvy4000, yvy3000, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Double) → new_ltEs8(yvy1600, yvy1610)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Double) → new_esEs18(yvy4000, yvy3000)
new_esEs27(yvy4000, yvy3000, ty_Double) → new_esEs18(yvy4000, yvy3000)
new_esEs32(yvy4000, yvy3000, app(app(ty_Either, ead), eae)) → new_esEs13(yvy4000, yvy3000, ead, eae)
new_ltEs9(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), bfd, bee) → new_pePe(new_lt20(yvy1600, yvy1610, bfd), new_asAs(new_esEs35(yvy1600, yvy1610, bfd), new_ltEs22(yvy1601, yvy1611, bee)))
new_ltEs13(Just(yvy1600), Nothing, fcc) → False
new_esEs27(yvy4000, yvy3000, app(ty_Ratio, dbg)) → new_esEs14(yvy4000, yvy3000, dbg)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs28(yvy4001, yvy3001, ty_Bool) → new_esEs20(yvy4001, yvy3001)
new_esEs10(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_lt22(yvy1600, yvy1610, ty_Ordering) → new_lt10(yvy1600, yvy1610)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Double, bha) → new_ltEs8(yvy1600, yvy1610)
new_lt7(yvy192, yvy195, ty_Integer) → new_lt5(yvy192, yvy195)
new_ltEs10(True, False) → False
new_esEs40(yvy1601, yvy1611, ty_Ordering) → new_esEs19(yvy1601, yvy1611)
new_esEs10(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_asAs(False, yvy230) → False
new_esEs10(yvy400, yvy300, app(app(app(ty_@3, fec), fed), fee)) → new_esEs24(yvy400, yvy300, fec, fed, fee)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Char, dff) → new_esEs23(yvy4000, yvy3000)
new_esEs11(yvy400, yvy300, app(app(ty_@2, egf), egg)) → new_esEs22(yvy400, yvy300, egf, egg)
new_primMulInt(Pos(yvy4000), Neg(yvy3000)) → Neg(new_primMulNat0(yvy4000, yvy3000))
new_primMulInt(Neg(yvy4000), Pos(yvy3000)) → Neg(new_primMulNat0(yvy4000, yvy3000))
new_esEs5(yvy401, yvy301, ty_@0) → new_esEs25(yvy401, yvy301)
new_esEs6(yvy402, yvy302, app(ty_Maybe, dhf)) → new_esEs12(yvy402, yvy302, dhf)
new_esEs8(yvy401, yvy301, ty_Integer) → new_esEs17(yvy401, yvy301)
new_lt11(yvy40, yvy30) → new_esEs26(new_compare7(yvy40, yvy30))
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primMulNat0(Succ(yvy40000), Zero) → Zero
new_esEs27(yvy4000, yvy3000, ty_@0) → new_esEs25(yvy4000, yvy3000)
new_esEs35(yvy1600, yvy1610, ty_Bool) → new_esEs20(yvy1600, yvy1610)
new_lt21(yvy205, yvy207, ty_Int) → new_lt11(yvy205, yvy207)
new_esEs9(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_esEs33(yvy4001, yvy3001, ty_Ordering) → new_esEs19(yvy4001, yvy3001)
new_esEs31(yvy193, yvy196, ty_Ordering) → new_esEs19(yvy193, yvy196)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_lt7(yvy192, yvy195, app(ty_[], ce)) → new_lt4(yvy192, yvy195, ce)
new_lt19(yvy40, yvy30) → new_esEs26(new_compare30(yvy40, yvy30))
new_lt10(yvy40, yvy30) → new_esEs26(new_compare18(yvy40, yvy30))
new_ltEs19(yvy167, yvy168, ty_Char) → new_ltEs16(yvy167, yvy168)
new_esEs13(Right(yvy4000), Right(yvy3000), dfe, app(ty_Maybe, fgf)) → new_esEs12(yvy4000, yvy3000, fgf)
new_esEs29(yvy4002, yvy3002, ty_Char) → new_esEs23(yvy4002, yvy3002)
new_esEs4(yvy400, yvy300, app(ty_Maybe, cgb)) → new_esEs12(yvy400, yvy300, cgb)
new_esEs32(yvy4000, yvy3000, ty_Double) → new_esEs18(yvy4000, yvy3000)
new_ltEs23(yvy206, yvy208, ty_Char) → new_ltEs16(yvy206, yvy208)
new_esEs40(yvy1601, yvy1611, ty_Char) → new_esEs23(yvy1601, yvy1611)
new_esEs6(yvy402, yvy302, ty_Double) → new_esEs18(yvy402, yvy302)
new_lt20(yvy1600, yvy1610, app(ty_[], bfc)) → new_lt4(yvy1600, yvy1610, bfc)
new_compare31(yvy400, yvy300, ty_Float) → new_compare19(yvy400, yvy300)
new_esEs28(yvy4001, yvy3001, app(app(ty_@2, ddc), ddd)) → new_esEs22(yvy4001, yvy3001, ddc, ddd)
new_esEs4(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_esEs28(yvy4001, yvy3001, ty_Double) → new_esEs18(yvy4001, yvy3001)
new_lt22(yvy1600, yvy1610, ty_@0) → new_lt15(yvy1600, yvy1610)
new_esEs4(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_compare9(Double(yvy400, yvy401), Double(yvy300, yvy301)) → new_compare7(new_sr0(yvy400, yvy300), new_sr0(yvy401, yvy301))
new_compare12(False, False) → EQ
new_esEs7(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_ltEs18(yvy194, yvy197, app(ty_Ratio, dgg)) → new_ltEs17(yvy194, yvy197, dgg)
new_esEs40(yvy1601, yvy1611, ty_Float) → new_esEs21(yvy1601, yvy1611)
new_compare6(:%(yvy400, yvy401), :%(yvy300, yvy301), ty_Int) → new_compare7(new_sr0(yvy400, yvy301), new_sr0(yvy300, yvy401))
new_compare111(yvy279, yvy280, yvy281, yvy282, False, efh, ega) → GT
new_ltEs18(yvy194, yvy197, app(ty_Maybe, eh)) → new_ltEs13(yvy194, yvy197, eh)
new_esEs34(yvy4000, yvy3000, ty_Float) → new_esEs21(yvy4000, yvy3000)
new_esEs8(yvy401, yvy301, app(app(ty_@2, fbd), fbe)) → new_esEs22(yvy401, yvy301, fbd, fbe)
new_ltEs6(LT, GT) → True
new_lt23(yvy1601, yvy1611, app(app(ty_@2, bbh), bca)) → new_lt13(yvy1601, yvy1611, bbh, bca)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_@0, bha) → new_ltEs11(yvy1600, yvy1610)
new_esEs8(yvy401, yvy301, ty_Int) → new_esEs16(yvy401, yvy301)
new_ltEs14(yvy160, yvy161) → new_fsEs(new_compare8(yvy160, yvy161))
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Double, dff) → new_esEs18(yvy4000, yvy3000)
new_lt21(yvy205, yvy207, ty_@0) → new_lt15(yvy205, yvy207)
new_esEs27(yvy4000, yvy3000, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_compare211(yvy160, yvy161, True, fcb, bea) → EQ
new_lt8(yvy193, yvy196, ty_Char) → new_lt19(yvy193, yvy196)
new_ltEs21(yvy160, yvy161, ty_Char) → new_ltEs16(yvy160, yvy161)
new_esEs39(yvy1600, yvy1610, app(app(ty_@2, baf), bag)) → new_esEs22(yvy1600, yvy1610, baf, bag)
new_ltEs19(yvy167, yvy168, app(app(app(ty_@3, cfa), cfb), cfc)) → new_ltEs5(yvy167, yvy168, cfa, cfb, cfc)
new_esEs7(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_ltEs21(yvy160, yvy161, ty_Ordering) → new_ltEs6(yvy160, yvy161)
new_esEs34(yvy4000, yvy3000, ty_Char) → new_esEs23(yvy4000, yvy3000)
new_esEs13(Left(yvy4000), Left(yvy3000), app(ty_[], ffa), dff) → new_esEs15(yvy4000, yvy3000, ffa)
new_compare16(Right(yvy400), Left(yvy300), bdg, bdh) → GT
new_esEs13(Left(yvy4000), Right(yvy3000), dfe, dff) → False
new_esEs13(Right(yvy4000), Left(yvy3000), dfe, dff) → False
new_esEs13(Right(yvy4000), Right(yvy3000), dfe, app(app(ty_Either, ffh), fga)) → new_esEs13(yvy4000, yvy3000, ffh, fga)
new_esEs11(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_ltEs23(yvy206, yvy208, app(app(ty_@2, ga), gb)) → new_ltEs9(yvy206, yvy208, ga, gb)
new_lt22(yvy1600, yvy1610, ty_Int) → new_lt11(yvy1600, yvy1610)
new_ltEs20(yvy174, yvy175, app(ty_[], cde)) → new_ltEs15(yvy174, yvy175, cde)
new_lt20(yvy1600, yvy1610, ty_Integer) → new_lt5(yvy1600, yvy1610)
new_esEs39(yvy1600, yvy1610, ty_Char) → new_esEs23(yvy1600, yvy1610)
new_ltEs19(yvy167, yvy168, app(ty_Maybe, cfh)) → new_ltEs13(yvy167, yvy168, cfh)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Float, dff) → new_esEs21(yvy4000, yvy3000)
new_esEs8(yvy401, yvy301, app(ty_Ratio, fbb)) → new_esEs14(yvy401, yvy301, fbb)
new_esEs40(yvy1601, yvy1611, app(ty_Maybe, bcd)) → new_esEs12(yvy1601, yvy1611, bcd)
new_esEs9(yvy400, yvy300, app(app(app(ty_@3, efe), eff), efg)) → new_esEs24(yvy400, yvy300, efe, eff, efg)
new_esEs9(yvy400, yvy300, app(ty_Maybe, efd)) → new_esEs12(yvy400, yvy300, efd)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Int, dff) → new_esEs16(yvy4000, yvy3000)
new_lt7(yvy192, yvy195, ty_@0) → new_lt15(yvy192, yvy195)
new_ltEs20(yvy174, yvy175, ty_Double) → new_ltEs8(yvy174, yvy175)
new_compare26(yvy174, yvy175, False, edb) → new_compare13(yvy174, yvy175, new_ltEs20(yvy174, yvy175, edb), edb)
new_compare18(LT, LT) → EQ
new_esEs4(yvy400, yvy300, app(app(ty_@2, dga), dgb)) → new_esEs22(yvy400, yvy300, dga, dgb)
new_esEs36(yvy205, yvy207, ty_Ordering) → new_esEs19(yvy205, yvy207)
new_lt22(yvy1600, yvy1610, ty_Double) → new_lt12(yvy1600, yvy1610)
new_esEs4(yvy400, yvy300, app(app(ty_Either, dfe), dff)) → new_esEs13(yvy400, yvy300, dfe, dff)
new_esEs39(yvy1600, yvy1610, ty_Float) → new_esEs21(yvy1600, yvy1610)
new_lt23(yvy1601, yvy1611, ty_Integer) → new_lt5(yvy1601, yvy1611)
new_ltEs23(yvy206, yvy208, app(ty_Maybe, ge)) → new_ltEs13(yvy206, yvy208, ge)
new_esEs13(Right(yvy4000), Right(yvy3000), dfe, ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_compare14(yvy236, yvy237, True, eab, eac) → LT
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Float) → new_esEs21(yvy4000, yvy3000)
new_esEs35(yvy1600, yvy1610, app(app(ty_Either, beh), bfa)) → new_esEs13(yvy1600, yvy1610, beh, bfa)
new_esEs39(yvy1600, yvy1610, ty_Integer) → new_esEs17(yvy1600, yvy1610)
new_compare31(yvy400, yvy300, app(app(ty_Either, ced), cee)) → new_compare16(yvy400, yvy300, ced, cee)
new_ltEs22(yvy1601, yvy1611, ty_Bool) → new_ltEs10(yvy1601, yvy1611)
new_lt22(yvy1600, yvy1610, ty_Bool) → new_lt14(yvy1600, yvy1610)
new_esEs13(Right(yvy4000), Right(yvy3000), dfe, ty_Char) → new_esEs23(yvy4000, yvy3000)
new_lt7(yvy192, yvy195, ty_Int) → new_lt11(yvy192, yvy195)
new_esEs13(Right(yvy4000), Right(yvy3000), dfe, app(app(app(ty_@3, fgg), fgh), fha)) → new_esEs24(yvy4000, yvy3000, fgg, fgh, fha)
new_ltEs4(Right(yvy1600), Right(yvy1610), bhh, ty_Double) → new_ltEs8(yvy1600, yvy1610)
new_primMulNat0(Succ(yvy40000), Succ(yvy30000)) → new_primPlusNat0(new_primMulNat0(yvy40000, Succ(yvy30000)), Succ(yvy30000))
new_esEs10(yvy400, yvy300, app(ty_Ratio, fdf)) → new_esEs14(yvy400, yvy300, fdf)
new_ltEs21(yvy160, yvy161, ty_Float) → new_ltEs12(yvy160, yvy161)
new_esEs35(yvy1600, yvy1610, ty_@0) → new_esEs25(yvy1600, yvy1610)
new_esEs39(yvy1600, yvy1610, app(app(ty_Either, bah), bba)) → new_esEs13(yvy1600, yvy1610, bah, bba)
new_esEs12(Just(yvy4000), Just(yvy3000), app(ty_Maybe, cha)) → new_esEs12(yvy4000, yvy3000, cha)
new_esEs35(yvy1600, yvy1610, app(ty_[], bfc)) → new_esEs15(yvy1600, yvy1610, bfc)
new_compare24(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, True, cf, bf, bg) → EQ
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_esEs13(Right(yvy4000), Right(yvy3000), dfe, ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_esEs11(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_lt20(yvy1600, yvy1610, ty_Ordering) → new_lt10(yvy1600, yvy1610)
new_lt7(yvy192, yvy195, ty_Char) → new_lt19(yvy192, yvy195)
new_ltEs21(yvy160, yvy161, ty_Integer) → new_ltEs14(yvy160, yvy161)
new_ltEs6(LT, EQ) → True
new_ltEs10(True, True) → True
new_lt21(yvy205, yvy207, app(ty_Ratio, fcg)) → new_lt6(yvy205, yvy207, fcg)
new_esEs26(LT) → True
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Char) → new_esEs23(yvy4000, yvy3000)
new_ltEs6(GT, LT) → False
new_compare24(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, False, cf, bf, bg) → new_compare10(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, new_lt7(yvy192, yvy195, cf), new_asAs(new_esEs30(yvy192, yvy195, cf), new_pePe(new_lt8(yvy193, yvy196, bf), new_asAs(new_esEs31(yvy193, yvy196, bf), new_ltEs18(yvy194, yvy197, bg)))), cf, bf, bg)
new_lt7(yvy192, yvy195, app(app(ty_Either, cb), cc)) → new_lt16(yvy192, yvy195, cb, cc)
new_ltEs13(Just(yvy1600), Just(yvy1610), app(ty_Ratio, fhc)) → new_ltEs17(yvy1600, yvy1610, fhc)
new_asAs(True, yvy230) → yvy230
new_compare27(@0, @0) → EQ
new_ltEs7(yvy160, yvy161) → new_fsEs(new_compare7(yvy160, yvy161))
new_esEs30(yvy192, yvy195, ty_Integer) → new_esEs17(yvy192, yvy195)
new_lt21(yvy205, yvy207, app(ty_[], hh)) → new_lt4(yvy205, yvy207, hh)
new_compare25(yvy167, yvy168, False, ceh, ech) → new_compare15(yvy167, yvy168, new_ltEs19(yvy167, yvy168, ech), ceh, ech)
new_compare30(Char(yvy400), Char(yvy300)) → new_primCmpNat0(yvy400, yvy300)
new_compare31(yvy400, yvy300, ty_Int) → new_compare7(yvy400, yvy300)
new_esEs31(yvy193, yvy196, ty_Float) → new_esEs21(yvy193, yvy196)
new_esEs11(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_ltEs19(yvy167, yvy168, ty_Float) → new_ltEs12(yvy167, yvy168)
new_esEs31(yvy193, yvy196, ty_Char) → new_esEs23(yvy193, yvy196)
new_ltEs23(yvy206, yvy208, ty_Int) → new_ltEs7(yvy206, yvy208)
new_esEs28(yvy4001, yvy3001, app(ty_Maybe, dde)) → new_esEs12(yvy4001, yvy3001, dde)
new_ltEs16(yvy160, yvy161) → new_fsEs(new_compare30(yvy160, yvy161))
new_esEs23(Char(yvy4000), Char(yvy3000)) → new_primEqNat0(yvy4000, yvy3000)
new_primCompAux0(yvy400, yvy300, yvy115, cdf) → new_primCompAux00(yvy115, new_compare31(yvy400, yvy300, cdf))
new_esEs7(yvy400, yvy300, app(ty_Ratio, ehh)) → new_esEs14(yvy400, yvy300, ehh)
new_esEs31(yvy193, yvy196, app(app(ty_Either, de), df)) → new_esEs13(yvy193, yvy196, de, df)
new_lt16(yvy40, yvy30, bdg, bdh) → new_esEs26(new_compare16(yvy40, yvy30, bdg, bdh))
new_esEs30(yvy192, yvy195, ty_Bool) → new_esEs20(yvy192, yvy195)
new_esEs31(yvy193, yvy196, ty_Int) → new_esEs16(yvy193, yvy196)
new_esEs36(yvy205, yvy207, ty_Float) → new_esEs21(yvy205, yvy207)
new_ltEs24(yvy1602, yvy1612, app(app(ty_Either, bdc), bdd)) → new_ltEs4(yvy1602, yvy1612, bdc, bdd)
new_compare18(LT, EQ) → LT
new_esEs29(yvy4002, yvy3002, app(ty_[], ded)) → new_esEs15(yvy4002, yvy3002, ded)
new_esEs39(yvy1600, yvy1610, app(app(app(ty_@3, baa), bab), bac)) → new_esEs24(yvy1600, yvy1610, baa, bab, bac)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_compare5([], [], cdf) → EQ
new_ltEs13(Just(yvy1600), Just(yvy1610), app(app(app(ty_@3, cbb), cbc), cbd)) → new_ltEs5(yvy1600, yvy1610, cbb, cbc, cbd)
new_esEs34(yvy4000, yvy3000, app(app(app(ty_@3, eec), eed), eee)) → new_esEs24(yvy4000, yvy3000, eec, eed, eee)
new_esEs29(yvy4002, yvy3002, app(ty_Ratio, dec)) → new_esEs14(yvy4002, yvy3002, dec)
new_ltEs20(yvy174, yvy175, ty_Ordering) → new_ltEs6(yvy174, yvy175)
new_ltEs21(yvy160, yvy161, app(app(ty_@2, bfd), bee)) → new_ltEs9(yvy160, yvy161, bfd, bee)
new_lt7(yvy192, yvy195, ty_Float) → new_lt17(yvy192, yvy195)
new_esEs30(yvy192, yvy195, app(ty_[], ce)) → new_esEs15(yvy192, yvy195, ce)
new_esEs36(yvy205, yvy207, app(ty_[], hh)) → new_esEs15(yvy205, yvy207, hh)
new_primCompAux00(yvy180, GT) → GT
new_esEs34(yvy4000, yvy3000, ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_esEs39(yvy1600, yvy1610, ty_@0) → new_esEs25(yvy1600, yvy1610)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_lt8(yvy193, yvy196, app(app(ty_Either, de), df)) → new_lt16(yvy193, yvy196, de, df)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(app(app(ty_@3, bgf), bgg), bgh), bha) → new_ltEs5(yvy1600, yvy1610, bgf, bgg, bgh)
new_ltEs21(yvy160, yvy161, ty_Int) → new_ltEs7(yvy160, yvy161)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_@0, dff) → new_esEs25(yvy4000, yvy3000)
new_esEs5(yvy401, yvy301, app(ty_Ratio, dab)) → new_esEs14(yvy401, yvy301, dab)
new_ltEs23(yvy206, yvy208, app(app(app(ty_@3, ff), fg), fh)) → new_ltEs5(yvy206, yvy208, ff, fg, fh)
new_esEs39(yvy1600, yvy1610, ty_Double) → new_esEs18(yvy1600, yvy1610)
new_esEs33(yvy4001, yvy3001, ty_@0) → new_esEs25(yvy4001, yvy3001)
new_lt8(yvy193, yvy196, ty_Int) → new_lt11(yvy193, yvy196)
new_ltEs5(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), bbd, bad, bae) → new_pePe(new_lt22(yvy1600, yvy1610, bbd), new_asAs(new_esEs39(yvy1600, yvy1610, bbd), new_pePe(new_lt23(yvy1601, yvy1611, bad), new_asAs(new_esEs40(yvy1601, yvy1611, bad), new_ltEs24(yvy1602, yvy1612, bae)))))
new_esEs33(yvy4001, yvy3001, app(app(ty_Either, ebf), ebg)) → new_esEs13(yvy4001, yvy3001, ebf, ebg)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_lt8(yvy193, yvy196, ty_@0) → new_lt15(yvy193, yvy196)
new_lt23(yvy1601, yvy1611, ty_@0) → new_lt15(yvy1601, yvy1611)
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_lt21(yvy205, yvy207, ty_Float) → new_lt17(yvy205, yvy207)
new_lt7(yvy192, yvy195, ty_Ordering) → new_lt10(yvy192, yvy195)
new_not(True) → False
new_compare210(yvy205, yvy206, yvy207, yvy208, True, fd, hb) → EQ
new_esEs34(yvy4000, yvy3000, app(app(ty_Either, edd), ede)) → new_esEs13(yvy4000, yvy3000, edd, ede)
new_ltEs4(Right(yvy1600), Right(yvy1610), bhh, app(app(app(ty_@3, caa), cab), cac)) → new_ltEs5(yvy1600, yvy1610, caa, cab, cac)
new_ltEs23(yvy206, yvy208, ty_Float) → new_ltEs12(yvy206, yvy208)

The set Q consists of the following terms:

new_ltEs17(x0, x1, x2)
new_esEs7(x0, x1, ty_Char)
new_lt23(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs40(x0, x1, ty_Bool)
new_esEs40(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs39(x0, x1, app(ty_Maybe, x2))
new_ltEs23(x0, x1, ty_@0)
new_lt20(x0, x1, ty_@0)
new_lt23(x0, x1, ty_@0)
new_lt20(x0, x1, ty_Bool)
new_esEs36(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_[], x2))
new_lt22(x0, x1, app(ty_[], x2))
new_esEs31(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, ty_Bool)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs35(x0, x1, app(ty_Maybe, x2))
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs32(x0, x1, ty_Char)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs13(Left(x0), Left(x1), ty_Integer, x2)
new_esEs9(x0, x1, ty_Integer)
new_esEs8(x0, x1, ty_Int)
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_ltEs23(x0, x1, app(ty_[], x2))
new_lt21(x0, x1, ty_Double)
new_compare6(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_compare7(x0, x1)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_compare111(x0, x1, x2, x3, False, x4, x5)
new_esEs36(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs11(x0, x1)
new_esEs27(x0, x1, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs13(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, ty_Ordering)
new_esEs8(x0, x1, ty_Double)
new_esEs35(x0, x1, ty_Bool)
new_lt21(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs8(x0, x1)
new_esEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs40(x0, x1, app(ty_[], x2))
new_ltEs22(x0, x1, app(app(ty_@2, x2), x3))
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs36(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare12(False, True)
new_compare12(True, False)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs40(x0, x1, app(app(ty_@2, x2), x3))
new_esEs33(x0, x1, ty_@0)
new_esEs7(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Char)
new_lt22(x0, x1, ty_Char)
new_compare10(x0, x1, x2, x3, x4, x5, True, x6, x7, x8, x9)
new_lt14(x0, x1)
new_ltEs19(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Char)
new_pePe(False, x0)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs21(x0, x1, ty_Ordering)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_compare31(x0, x1, ty_@0)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(x0, x1, ty_Double)
new_esEs11(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, ty_Integer)
new_esEs36(x0, x1, ty_Ordering)
new_lt23(x0, x1, ty_Ordering)
new_esEs5(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Integer)
new_esEs10(x0, x1, ty_Ordering)
new_compare31(x0, x1, ty_Ordering)
new_esEs29(x0, x1, app(ty_[], x2))
new_esEs39(x0, x1, ty_Float)
new_esEs40(x0, x1, ty_Double)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs10(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_Ordering)
new_ltEs23(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_@0)
new_esEs12(Just(x0), Just(x1), ty_Bool)
new_lt7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt8(x0, x1, app(ty_Maybe, x2))
new_esEs35(x0, x1, ty_Float)
new_esEs36(x0, x1, ty_@0)
new_esEs39(x0, x1, ty_Bool)
new_esEs13(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs20(x0, x1, ty_Ordering)
new_esEs13(Left(x0), Left(x1), ty_Double, x2)
new_lt7(x0, x1, ty_Int)
new_compare14(x0, x1, False, x2, x3)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_compare110(x0, x1, x2, x3, False, x4, x5, x6)
new_esEs4(x0, x1, ty_Integer)
new_lt22(x0, x1, ty_Bool)
new_esEs31(x0, x1, ty_@0)
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_esEs9(x0, x1, ty_Char)
new_ltEs22(x0, x1, ty_Char)
new_ltEs19(x0, x1, ty_Bool)
new_esEs33(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_lt22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(x0, x1, ty_Ordering)
new_esEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs13(Just(x0), Just(x1), app(ty_[], x2))
new_esEs35(x0, x1, ty_Int)
new_ltEs6(EQ, EQ)
new_esEs35(x0, x1, app(app(ty_Either, x2), x3))
new_lt7(x0, x1, ty_Ordering)
new_primCompAux00(x0, EQ)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_lt12(x0, x1)
new_esEs13(Left(x0), Left(x1), ty_@0, x2)
new_ltEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs40(x0, x1, ty_@0)
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_esEs12(Just(x0), Nothing, x1)
new_esEs8(x0, x1, ty_Bool)
new_primCompAux00(x0, LT)
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_compare31(x0, x1, ty_Float)
new_ltEs6(LT, EQ)
new_ltEs6(EQ, LT)
new_ltEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_[], x2))
new_ltEs24(x0, x1, ty_Ordering)
new_compare24(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs11(x0, x1, ty_Ordering)
new_esEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, ty_Float)
new_lt23(x0, x1, ty_Integer)
new_compare29(@2(x0, x1), @2(x2, x3), x4, x5)
new_compare110(x0, x1, x2, x3, True, x4, x5, x6)
new_primEqNat0(Zero, Zero)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(EQ)
new_esEs21(Float(x0, x1), Float(x2, x3))
new_ltEs18(x0, x1, ty_Integer)
new_esEs35(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_compare31(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, ty_Ordering)
new_esEs35(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, ty_Float)
new_ltEs18(x0, x1, ty_Double)
new_esEs13(Right(x0), Right(x1), x2, ty_Int)
new_ltEs23(x0, x1, ty_Int)
new_esEs13(Left(x0), Left(x1), ty_Char, x2)
new_esEs35(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_@0)
new_ltEs18(x0, x1, ty_Float)
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_ltEs13(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs6(x0, x1, ty_Integer)
new_esEs27(x0, x1, ty_Integer)
new_lt22(x0, x1, ty_@0)
new_ltEs19(x0, x1, ty_Double)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs33(x0, x1, ty_Ordering)
new_esEs10(x0, x1, ty_Bool)
new_primMulNat0(Zero, Zero)
new_lt8(x0, x1, ty_Double)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs33(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, ty_Char)
new_ltEs22(x0, x1, app(app(ty_Either, x2), x3))
new_lt21(x0, x1, ty_Float)
new_esEs26(GT)
new_compare211(x0, x1, False, x2, x3)
new_esEs6(x0, x1, app(ty_[], x2))
new_compare18(LT, LT)
new_esEs29(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Int)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_lt8(x0, x1, ty_Char)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs5(x0, x1, ty_Double)
new_ltEs12(x0, x1)
new_primPlusNat0(Succ(x0), Zero)
new_compare18(LT, EQ)
new_compare18(EQ, LT)
new_esEs34(x0, x1, ty_Int)
new_ltEs18(x0, x1, ty_Int)
new_esEs13(Right(x0), Right(x1), x2, ty_@0)
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, ty_Bool)
new_lt23(x0, x1, ty_Int)
new_lt7(x0, x1, ty_Char)
new_esEs13(Right(x0), Right(x1), x2, ty_Bool)
new_esEs6(x0, x1, ty_Ordering)
new_esEs27(x0, x1, ty_Float)
new_esEs35(x0, x1, ty_Ordering)
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_primMulInt(Neg(x0), Neg(x1))
new_esEs30(x0, x1, ty_Float)
new_esEs19(LT, LT)
new_esEs20(True, True)
new_esEs19(EQ, GT)
new_esEs19(GT, EQ)
new_primEqNat0(Zero, Succ(x0))
new_esEs12(Just(x0), Just(x1), ty_Char)
new_esEs39(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, ty_@0)
new_esEs6(x0, x1, ty_Bool)
new_esEs33(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs32(x0, x1, ty_Ordering)
new_esEs35(x0, x1, ty_Integer)
new_esEs40(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat0(Zero, Succ(x0))
new_esEs13(Right(x0), Right(x1), x2, ty_Char)
new_lt7(x0, x1, ty_Double)
new_ltEs24(x0, x1, ty_Int)
new_esEs28(x0, x1, app(ty_[], x2))
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_esEs40(x0, x1, app(ty_Ratio, x2))
new_lt22(x0, x1, app(ty_Ratio, x2))
new_lt8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs39(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs13(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs9(x0, x1, ty_Float)
new_ltEs13(Just(x0), Just(x1), ty_Float)
new_lt22(x0, x1, ty_Double)
new_lt20(x0, x1, ty_Ordering)
new_esEs5(x0, x1, ty_@0)
new_ltEs13(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, ty_Bool)
new_esEs7(x0, x1, ty_Int)
new_ltEs7(x0, x1)
new_esEs8(x0, x1, ty_Float)
new_esEs4(x0, x1, app(ty_[], x2))
new_esEs16(x0, x1)
new_esEs13(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, ty_Int)
new_primMulNat0(Succ(x0), Zero)
new_compare18(LT, GT)
new_compare18(GT, LT)
new_compare26(x0, x1, True, x2)
new_ltEs22(x0, x1, ty_Bool)
new_esEs33(x0, x1, app(ty_[], x2))
new_ltEs22(x0, x1, ty_Int)
new_esEs36(x0, x1, ty_Int)
new_esEs37(x0, x1, ty_Integer)
new_esEs34(x0, x1, app(ty_Ratio, x2))
new_compare210(x0, x1, x2, x3, True, x4, x5)
new_esEs20(False, True)
new_esEs20(True, False)
new_ltEs24(x0, x1, ty_Bool)
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_Char)
new_esEs20(False, False)
new_esEs38(x0, x1, ty_Integer)
new_compare12(False, False)
new_esEs15(:(x0, x1), [], x2)
new_lt8(x0, x1, app(ty_Ratio, x2))
new_esEs34(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare18(GT, GT)
new_esEs33(x0, x1, ty_Integer)
new_esEs40(x0, x1, ty_Ordering)
new_lt8(x0, x1, ty_Integer)
new_esEs39(x0, x1, app(ty_Ratio, x2))
new_esEs39(x0, x1, ty_Double)
new_ltEs22(x0, x1, app(ty_Ratio, x2))
new_esEs18(Double(x0, x1), Double(x2, x3))
new_ltEs5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_Ordering)
new_ltEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs13(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs32(x0, x1, ty_Bool)
new_esEs11(x0, x1, ty_@0)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_ltEs19(x0, x1, ty_Char)
new_primPlusNat0(Zero, Zero)
new_esEs39(x0, x1, ty_Ordering)
new_pePe(True, x0)
new_esEs13(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs22(x0, x1, ty_Float)
new_esEs8(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, ty_Integer)
new_ltEs10(False, False)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs31(x0, x1, ty_Bool)
new_esEs5(x0, x1, ty_Int)
new_compare17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs36(x0, x1, ty_Integer)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Int)
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_lt20(x0, x1, ty_Char)
new_lt20(x0, x1, ty_Int)
new_ltEs21(x0, x1, ty_Bool)
new_lt21(x0, x1, ty_Char)
new_esEs12(Just(x0), Just(x1), ty_Integer)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare19(Float(x0, x1), Float(x2, x3))
new_esEs13(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs34(x0, x1, ty_Integer)
new_esEs7(x0, x1, ty_Float)
new_lt7(x0, x1, ty_Bool)
new_esEs34(x0, x1, app(ty_[], x2))
new_esEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs34(x0, x1, ty_@0)
new_ltEs13(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs12(Nothing, Nothing, x0)
new_esEs31(x0, x1, ty_Float)
new_esEs35(x0, x1, ty_Char)
new_esEs11(x0, x1, ty_Integer)
new_compare111(x0, x1, x2, x3, True, x4, x5)
new_esEs5(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Bool)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs22(x0, x1, ty_@0)
new_esEs13(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs33(x0, x1, app(app(ty_@2, x2), x3))
new_esEs36(x0, x1, ty_Bool)
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare16(Right(x0), Left(x1), x2, x3)
new_compare16(Left(x0), Right(x1), x2, x3)
new_esEs13(Right(x0), Right(x1), x2, ty_Integer)
new_esEs39(x0, x1, ty_@0)
new_esEs34(x0, x1, ty_Double)
new_esEs30(x0, x1, ty_Int)
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_ltEs21(x0, x1, ty_Double)
new_lt23(x0, x1, ty_Float)
new_esEs4(x0, x1, ty_Ordering)
new_esEs40(x0, x1, ty_Integer)
new_lt4(x0, x1, x2)
new_ltEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_esEs12(Just(x0), Just(x1), ty_@0)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Double)
new_esEs35(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Ordering)
new_compare13(x0, x1, True, x2)
new_lt20(x0, x1, ty_Double)
new_compare28(Just(x0), Nothing, x1)
new_ltEs24(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_esEs32(x0, x1, ty_Int)
new_ltEs18(x0, x1, ty_@0)
new_esEs40(x0, x1, ty_Float)
new_ltEs15(x0, x1, x2)
new_esEs39(x0, x1, ty_Int)
new_lt22(x0, x1, ty_Integer)
new_esEs11(x0, x1, ty_Double)
new_esEs13(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs35(x0, x1, app(ty_[], x2))
new_compare6(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs27(x0, x1, ty_Int)
new_ltEs24(x0, x1, ty_Double)
new_esEs12(Just(x0), Just(x1), app(ty_[], x2))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(x0, x1, ty_Float)
new_esEs34(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_esEs32(x0, x1, ty_Double)
new_esEs11(x0, x1, ty_Bool)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, app(ty_[], x2))
new_esEs8(x0, x1, ty_Ordering)
new_esEs40(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_lt23(x0, x1, app(ty_[], x2))
new_esEs32(x0, x1, ty_@0)
new_esEs24(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs18(x0, x1, ty_Bool)
new_esEs6(x0, x1, ty_Float)
new_ltEs22(x0, x1, ty_Integer)
new_esEs8(x0, x1, ty_Char)
new_lt5(x0, x1)
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_ltEs22(x0, x1, ty_Ordering)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs23(x0, x1, app(app(ty_@2, x2), x3))
new_sr0(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_ltEs13(Just(x0), Just(x1), ty_Bool)
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs4(x0, x1, ty_@0)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs33(x0, x1, ty_Int)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs6(x0, x1, ty_Double)
new_lt21(x0, x1, ty_@0)
new_esEs32(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Neg(Zero))
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_compare26(x0, x1, False, x2)
new_lt23(x0, x1, app(ty_Maybe, x2))
new_ltEs24(x0, x1, app(ty_Ratio, x2))
new_esEs36(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs15([], :(x0, x1), x2)
new_ltEs23(x0, x1, app(ty_Ratio, x2))
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, ty_Float)
new_primMulNat0(Zero, Succ(x0))
new_esEs9(x0, x1, app(ty_[], x2))
new_primCmpNat0(Zero, Succ(x0))
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_ltEs23(x0, x1, ty_Float)
new_compare31(x0, x1, app(ty_Maybe, x2))
new_lt8(x0, x1, ty_@0)
new_esEs13(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_lt17(x0, x1)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1, ty_Float)
new_esEs5(x0, x1, ty_Float)
new_lt8(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs32(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), ty_Int)
new_lt21(x0, x1, app(ty_Ratio, x2))
new_compare28(Nothing, Just(x0), x1)
new_lt6(x0, x1, x2)
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_lt7(x0, x1, ty_@0)
new_lt8(x0, x1, ty_Ordering)
new_esEs39(x0, x1, app(ty_[], x2))
new_compare15(x0, x1, False, x2, x3)
new_compare28(Nothing, Nothing, x0)
new_lt21(x0, x1, app(ty_[], x2))
new_lt7(x0, x1, app(ty_Ratio, x2))
new_ltEs24(x0, x1, ty_Float)
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, ty_Double)
new_compare30(Char(x0), Char(x1))
new_ltEs23(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_Char)
new_esEs6(x0, x1, ty_@0)
new_ltEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, ty_Bool)
new_lt10(x0, x1)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_esEs40(x0, x1, ty_Char)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_ltEs6(GT, GT)
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_esEs34(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs30(x0, x1, ty_Integer)
new_esEs4(x0, x1, ty_Char)
new_esEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(x0, x1, ty_Bool)
new_compare9(Double(x0, x1), Double(x2, x3))
new_lt21(x0, x1, app(ty_Maybe, x2))
new_ltEs9(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs34(x0, x1, ty_Char)
new_ltEs23(x0, x1, ty_Integer)
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_lt9(x0, x1, x2, x3, x4)
new_esEs28(x0, x1, ty_Float)
new_lt7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs36(x0, x1, app(ty_Maybe, x2))
new_compare13(x0, x1, False, x2)
new_ltEs21(x0, x1, ty_Int)
new_esEs26(LT)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs23(Char(x0), Char(x1))
new_ltEs13(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs22(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs20(x0, x1, ty_@0)
new_primCmpNat0(Succ(x0), Zero)
new_esEs8(x0, x1, ty_@0)
new_compare31(x0, x1, ty_Char)
new_primCmpNat0(Zero, Zero)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs33(x0, x1, ty_Char)
new_ltEs6(LT, LT)
new_lt23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt22(x0, x1, app(app(ty_@2, x2), x3))
new_lt23(x0, x1, ty_Double)
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_lt8(x0, x1, ty_Bool)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Integer)
new_esEs13(Right(x0), Right(x1), x2, ty_Double)
new_lt7(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs14(:%(x0, x1), :%(x2, x3), x4)
new_esEs8(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), ty_Integer)
new_ltEs10(True, True)
new_esEs30(x0, x1, ty_@0)
new_esEs31(x0, x1, ty_Double)
new_esEs7(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Ordering)
new_esEs13(Left(x0), Left(x1), ty_Int, x2)
new_lt22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs13(Just(x0), Just(x1), ty_Char)
new_esEs19(GT, GT)
new_ltEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare25(x0, x1, True, x2, x3)
new_compare11(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_ltEs13(Just(x0), Just(x1), ty_@0)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs35(x0, x1, ty_Double)
new_esEs37(x0, x1, ty_Int)
new_compare5([], :(x0, x1), x2)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs31(x0, x1, ty_Integer)
new_esEs31(x0, x1, ty_Char)
new_esEs38(x0, x1, ty_Int)
new_lt23(x0, x1, ty_Char)
new_lt20(x0, x1, ty_Integer)
new_compare11(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_ltEs20(x0, x1, ty_Double)
new_lt8(x0, x1, app(ty_[], x2))
new_esEs7(x0, x1, ty_Double)
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs13(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_lt23(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Float)
new_compare16(Left(x0), Left(x1), x2, x3)
new_compare16(Right(x0), Right(x1), x2, x3)
new_ltEs22(x0, x1, ty_Double)
new_esEs19(EQ, EQ)
new_compare5(:(x0, x1), [], x2)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs13(Left(x0), Right(x1), x2, x3)
new_esEs13(Right(x0), Left(x1), x2, x3)
new_ltEs21(x0, x1, ty_@0)
new_sr(Integer(x0), Integer(x1))
new_esEs32(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare210(x0, x1, x2, x3, False, x4, x5)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_esEs17(Integer(x0), Integer(x1))
new_compare18(EQ, GT)
new_compare18(GT, EQ)
new_ltEs23(x0, x1, ty_Bool)
new_ltEs14(x0, x1)
new_compare31(x0, x1, ty_Int)
new_esEs19(EQ, LT)
new_esEs19(LT, EQ)
new_lt20(x0, x1, ty_Float)
new_esEs13(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs24(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_@0)
new_primCompAux0(x0, x1, x2, x3)
new_esEs40(x0, x1, ty_Int)
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_lt22(x0, x1, ty_Float)
new_not(True)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_lt22(x0, x1, app(ty_Maybe, x2))
new_esEs19(LT, GT)
new_esEs19(GT, LT)
new_esEs15([], [], x0)
new_compare25(x0, x1, False, x2, x3)
new_compare14(x0, x1, True, x2, x3)
new_ltEs24(x0, x1, ty_@0)
new_esEs9(x0, x1, ty_Double)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_esEs39(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs13(Just(x0), Just(x1), ty_Ordering)
new_esEs13(Left(x0), Left(x1), ty_Float, x2)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_compare28(Just(x0), Just(x1), x2)
new_ltEs16(x0, x1)
new_ltEs13(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_compare211(x0, x1, True, x2, x3)
new_not(False)
new_compare15(x0, x1, True, x2, x3)
new_lt22(x0, x1, ty_Ordering)
new_esEs7(x0, x1, app(ty_[], x2))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs12(Just(x0), Just(x1), ty_Double)
new_primEqNat0(Succ(x0), Zero)
new_lt8(x0, x1, ty_Float)
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(GT, EQ)
new_esEs28(x0, x1, ty_Ordering)
new_ltEs6(EQ, GT)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, ty_Bool)
new_lt15(x0, x1)
new_lt13(x0, x1, x2, x3)
new_esEs7(x0, x1, ty_Ordering)
new_esEs34(x0, x1, app(ty_Maybe, x2))
new_lt21(x0, x1, ty_Int)
new_asAs(False, x0)
new_esEs30(x0, x1, ty_Char)
new_esEs5(x0, x1, app(ty_[], x2))
new_lt16(x0, x1, x2, x3)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs28(x0, x1, ty_Double)
new_lt22(x0, x1, ty_Int)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_lt8(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs21(x0, x1, app(ty_[], x2))
new_lt23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs34(x0, x1, ty_Bool)
new_ltEs22(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, ty_Char)
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, ty_Int)
new_esEs29(x0, x1, ty_Bool)
new_esEs29(x0, x1, ty_Double)
new_esEs13(Right(x0), Right(x1), x2, ty_Float)
new_esEs34(x0, x1, ty_Float)
new_lt11(x0, x1)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, ty_Int)
new_compare5([], [], x0)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs23(x0, x1, ty_Ordering)
new_esEs27(x0, x1, ty_Char)
new_lt7(x0, x1, app(ty_Maybe, x2))
new_esEs36(x0, x1, app(ty_[], x2))
new_ltEs22(x0, x1, app(ty_[], x2))
new_esEs39(x0, x1, ty_Integer)
new_ltEs10(True, False)
new_ltEs10(False, True)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_lt7(x0, x1, app(app(ty_@2, x2), x3))
new_esEs31(x0, x1, ty_Int)
new_esEs25(@0, @0)
new_esEs28(x0, x1, ty_Bool)
new_compare27(@0, @0)
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_Int)
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(x0, x1, ty_Char)
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(x0, x1, app(ty_Ratio, x2))
new_compare5(:(x0, x1), :(x2, x3), x4)
new_compare24(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_esEs39(x0, x1, ty_Char)
new_lt18(x0, x1, x2)
new_compare18(EQ, EQ)
new_esEs36(x0, x1, ty_Double)
new_ltEs24(x0, x1, ty_Integer)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_esEs10(x0, x1, ty_Double)
new_ltEs13(Nothing, Nothing, x0)
new_lt8(x0, x1, ty_Int)
new_lt23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, ty_Int)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare12(True, True)
new_primEqInt(Pos(Zero), Pos(Zero))
new_primCompAux00(x0, GT)
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, ty_Integer)
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs5(x0, x1, ty_Bool)
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(x0, x1, ty_Integer)
new_esEs12(Just(x0), Just(x1), ty_Int)
new_lt7(x0, x1, app(ty_[], x2))
new_esEs33(x0, x1, app(ty_Maybe, x2))
new_lt19(x0, x1)
new_esEs33(x0, x1, ty_Bool)
new_esEs36(x0, x1, app(app(ty_@2, x2), x3))
new_compare8(Integer(x0), Integer(x1))
new_esEs15(:(x0, x1), :(x2, x3), x4)
new_esEs34(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs12(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, app(ty_[], x2))
new_lt21(x0, x1, ty_Bool)
new_esEs13(Right(x0), Right(x1), x2, app(ty_[], x3))
new_asAs(True, x0)
new_esEs12(Nothing, Just(x0), x1)
new_ltEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs36(x0, x1, ty_Char)
new_esEs33(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_@0)
new_ltEs23(x0, x1, ty_Double)
new_esEs11(x0, x1, ty_Int)
new_esEs29(x0, x1, ty_Float)
new_compare10(x0, x1, x2, x3, x4, x5, False, x6, x7, x8, x9)
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs24(x0, x1, app(ty_[], x2))
new_ltEs13(Nothing, Just(x0), x1)
new_ltEs13(Just(x0), Just(x1), ty_Double)
new_lt21(x0, x1, ty_Integer)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs4(x0, x1, ty_Int)
new_esEs33(x0, x1, ty_Float)
new_fsEs(x0)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_addToFM_C2(yvy76, yvy77, yvy78, yvy79, yvy80, yvy81, yvy82, False, h, ba) → new_addToFM_C1(yvy76, yvy77, yvy78, yvy79, yvy80, yvy81, yvy82, new_gt(yvy81, yvy76, h), h, ba)
new_addToFM_C1(yvy106, yvy107, yvy108, yvy109, yvy110, yvy111, yvy112, True, bb, bc) → new_addToFM_C(yvy110, yvy111, yvy112, bb, bc)
new_addToFM_C2(yvy76, yvy77, yvy78, yvy79, yvy80, yvy81, yvy82, True, h, ba) → new_addToFM_C(yvy79, yvy81, yvy82, h, ba)
new_addToFM_C(Branch(yvy50, yvy51, yvy52, yvy53, yvy54), yvy40, yvy41, bd, be) → new_addToFM_C2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy40, yvy41, new_lt24(yvy40, yvy50, bd), bd, be)

The TRS R consists of the following rules:

new_esEs29(yvy4002, yvy3002, ty_Integer) → new_esEs17(yvy4002, yvy3002)
new_esEs28(yvy4001, yvy3001, ty_Integer) → new_esEs17(yvy4001, yvy3001)
new_esEs30(yvy192, yvy195, app(app(app(ty_@3, gg), gh), ha)) → new_esEs24(yvy192, yvy195, gg, gh, ha)
new_lt23(yvy1601, yvy1611, app(ty_Maybe, fea)) → new_lt18(yvy1601, yvy1611, fea)
new_esEs37(yvy4000, yvy3000, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_compare10(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, False, yvy271, da, db, dc) → new_compare11(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, yvy271, da, db, dc)
new_esEs39(yvy1600, yvy1610, ty_Ordering) → new_esEs19(yvy1600, yvy1610)
new_lt14(yvy40, yvy30) → new_esEs26(new_compare12(yvy40, yvy30))
new_compare8(Integer(yvy400), Integer(yvy300)) → new_primCmpInt(yvy400, yvy300)
new_ltEs18(yvy194, yvy197, ty_Integer) → new_ltEs14(yvy194, yvy197)
new_ltEs18(yvy194, yvy197, app(ty_[], bcc)) → new_ltEs15(yvy194, yvy197, bcc)
new_ltEs4(Right(yvy1600), Right(yvy1610), eg, ty_Int) → new_ltEs7(yvy1600, yvy1610)
new_esEs15(:(yvy4000, yvy4001), :(yvy3000, yvy3001), eag) → new_asAs(new_esEs34(yvy4000, yvy3000, eag), new_esEs15(yvy4001, yvy3001, eag))
new_esEs7(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_esEs12(Just(yvy4000), Just(yvy3000), app(app(ty_@2, chc), chd)) → new_esEs22(yvy4000, yvy3000, chc, chd)
new_lt8(yvy193, yvy196, app(app(app(ty_@3, baa), bab), bac)) → new_lt9(yvy193, yvy196, baa, bab, bac)
new_esEs6(yvy402, yvy302, ty_Integer) → new_esEs17(yvy402, yvy302)
new_esEs40(yvy1601, yvy1611, app(ty_[], feb)) → new_esEs15(yvy1601, yvy1611, feb)
new_compare16(Left(yvy400), Right(yvy300), cc, cd) → LT
new_esEs30(yvy192, yvy195, app(app(ty_Either, hd), he)) → new_esEs13(yvy192, yvy195, hd, he)
new_ltEs23(yvy206, yvy208, ty_Ordering) → new_ltEs6(yvy206, yvy208)
new_lt21(yvy205, yvy207, ty_Ordering) → new_lt10(yvy205, yvy207)
new_esEs29(yvy4002, yvy3002, app(app(app(ty_@3, ddg), ddh), dea)) → new_esEs24(yvy4002, yvy3002, ddg, ddh, dea)
new_lt24(yvy40, yvy50, app(ty_Ratio, cg)) → new_lt6(yvy40, yvy50, cg)
new_ltEs22(yvy1601, yvy1611, app(ty_[], egh)) → new_ltEs15(yvy1601, yvy1611, egh)
new_compare12(True, False) → GT
new_sr(Integer(yvy4000), Integer(yvy3010)) → Integer(new_primMulInt(yvy4000, yvy3010))
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_lt20(yvy1600, yvy1610, ty_Int) → new_lt11(yvy1600, yvy1610)
new_esEs34(yvy4000, yvy3000, app(ty_Ratio, edf)) → new_esEs14(yvy4000, yvy3000, edf)
new_esEs4(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_esEs14(:%(yvy4000, yvy4001), :%(yvy3000, yvy3001), eaf) → new_asAs(new_esEs37(yvy4000, yvy3000, eaf), new_esEs38(yvy4001, yvy3001, eaf))
new_lt23(yvy1601, yvy1611, ty_Ordering) → new_lt10(yvy1601, yvy1611)
new_ltEs21(yvy160, yvy161, app(ty_Maybe, cba)) → new_ltEs13(yvy160, yvy161, cba)
new_esEs27(yvy4000, yvy3000, app(ty_[], dag)) → new_esEs15(yvy4000, yvy3000, dag)
new_ltEs19(yvy167, yvy168, ty_Integer) → new_ltEs14(yvy167, yvy168)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(app(ty_@2, dh), ea), dg) → new_ltEs9(yvy1600, yvy1610, dh, ea)
new_ltEs18(yvy194, yvy197, ty_Char) → new_ltEs16(yvy194, yvy197)
new_ltEs4(Right(yvy1600), Right(yvy1610), eg, ty_Ordering) → new_ltEs6(yvy1600, yvy1610)
new_esEs28(yvy4001, yvy3001, ty_@0) → new_esEs25(yvy4001, yvy3001)
new_esEs27(yvy4000, yvy3000, ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_ltEs20(yvy174, yvy175, app(ty_Maybe, bdg)) → new_ltEs13(yvy174, yvy175, bdg)
new_ltEs24(yvy1602, yvy1612, ty_Double) → new_ltEs8(yvy1602, yvy1612)
new_ltEs4(Right(yvy1600), Right(yvy1610), eg, ty_Integer) → new_ltEs14(yvy1600, yvy1610)
new_esEs33(yvy4001, yvy3001, app(ty_Ratio, dfh)) → new_esEs14(yvy4001, yvy3001, dfh)
new_ltEs22(yvy1601, yvy1611, ty_Ordering) → new_ltEs6(yvy1601, yvy1611)
new_esEs36(yvy205, yvy207, ty_Char) → new_esEs23(yvy205, yvy207)
new_esEs31(yvy193, yvy196, ty_@0) → new_esEs25(yvy193, yvy196)
new_compare18(GT, EQ) → GT
new_lt22(yvy1600, yvy1610, ty_Integer) → new_lt5(yvy1600, yvy1610)
new_ltEs22(yvy1601, yvy1611, app(app(app(ty_@3, efh), ega), egb)) → new_ltEs5(yvy1601, yvy1611, efh, ega, egb)
new_ltEs22(yvy1601, yvy1611, app(ty_Ratio, eha)) → new_ltEs17(yvy1601, yvy1611, eha)
new_esEs31(yvy193, yvy196, app(ty_Maybe, bah)) → new_esEs12(yvy193, yvy196, bah)
new_lt22(yvy1600, yvy1610, ty_Float) → new_lt17(yvy1600, yvy1610)
new_gt6(yvy40, yvy30) → new_esEs41(new_compare18(yvy40, yvy30))
new_esEs24(@3(yvy4000, yvy4001, yvy4002), @3(yvy3000, yvy3001, yvy3002), daa, dab, dac) → new_asAs(new_esEs27(yvy4000, yvy3000, daa), new_asAs(new_esEs28(yvy4001, yvy3001, dab), new_esEs29(yvy4002, yvy3002, dac)))
new_esEs7(yvy400, yvy300, app(ty_[], bga)) → new_esEs15(yvy400, yvy300, bga)
new_compare110(yvy279, yvy280, yvy281, yvy282, True, yvy284, ccf, ccg) → new_compare111(yvy279, yvy280, yvy281, yvy282, True, ccf, ccg)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Bool, dg) → new_ltEs10(yvy1600, yvy1610)
new_esEs8(yvy401, yvy301, app(ty_[], bhc)) → new_esEs15(yvy401, yvy301, bhc)
new_esEs33(yvy4001, yvy3001, ty_Float) → new_esEs21(yvy4001, yvy3001)
new_ltEs10(False, False) → True
new_esEs4(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_gt(yvy81, yvy76, ty_Float) → new_gt4(yvy81, yvy76)
new_esEs22(@2(yvy4000, yvy4001), @2(yvy3000, yvy3001), deb, dec) → new_asAs(new_esEs32(yvy4000, yvy3000, deb), new_esEs33(yvy4001, yvy3001, dec))
new_compare31(yvy400, yvy300, ty_@0) → new_compare27(yvy400, yvy300)
new_ltEs13(Just(yvy1600), Just(yvy1610), app(app(ty_@2, gae), gaf)) → new_ltEs9(yvy1600, yvy1610, gae, gaf)
new_esEs10(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_ltEs24(yvy1602, yvy1612, app(ty_Ratio, ffe)) → new_ltEs17(yvy1602, yvy1612, ffe)
new_ltEs19(yvy167, yvy168, app(app(ty_Either, dhg), dhh)) → new_ltEs4(yvy167, yvy168, dhg, dhh)
new_esEs28(yvy4001, yvy3001, ty_Char) → new_esEs23(yvy4001, yvy3001)
new_pePe(False, yvy295) → yvy295
new_esEs19(GT, GT) → True
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Ordering, dg) → new_ltEs6(yvy1600, yvy1610)
new_ltEs24(yvy1602, yvy1612, ty_Integer) → new_ltEs14(yvy1602, yvy1612)
new_ltEs24(yvy1602, yvy1612, app(app(ty_@2, feg), feh)) → new_ltEs9(yvy1602, yvy1612, feg, feh)
new_esEs6(yvy402, yvy302, ty_Char) → new_esEs23(yvy402, yvy302)
new_lt20(yvy1600, yvy1610, ty_Double) → new_lt12(yvy1600, yvy1610)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, app(ty_[], fhc)) → new_esEs15(yvy4000, yvy3000, fhc)
new_ltEs20(yvy174, yvy175, app(app(ty_Either, bde), bdf)) → new_ltEs4(yvy174, yvy175, bde, bdf)
new_esEs10(yvy400, yvy300, app(ty_Maybe, ceh)) → new_esEs12(yvy400, yvy300, ceh)
new_esEs34(yvy4000, yvy3000, app(ty_Maybe, eeb)) → new_esEs12(yvy4000, yvy3000, eeb)
new_esEs26(EQ) → False
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Int, dg) → new_ltEs7(yvy1600, yvy1610)
new_esEs29(yvy4002, yvy3002, app(app(ty_@2, ddd), dde)) → new_esEs22(yvy4002, yvy3002, ddd, dde)
new_ltEs6(GT, EQ) → False
new_ltEs4(Right(yvy1600), Right(yvy1610), eg, app(app(ty_Either, ff), fg)) → new_ltEs4(yvy1600, yvy1610, ff, fg)
new_lt23(yvy1601, yvy1611, ty_Int) → new_lt11(yvy1601, yvy1611)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Int) → new_ltEs7(yvy1600, yvy1610)
new_esEs9(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_lt7(yvy192, yvy195, app(ty_Ratio, hh)) → new_lt6(yvy192, yvy195, hh)
new_ltEs18(yvy194, yvy197, ty_@0) → new_ltEs11(yvy194, yvy197)
new_ltEs24(yvy1602, yvy1612, ty_Int) → new_ltEs7(yvy1602, yvy1612)
new_ltEs13(Nothing, Nothing, cba) → True
new_esEs10(yvy400, yvy300, app(app(ty_@2, cef), ceg)) → new_esEs22(yvy400, yvy300, cef, ceg)
new_esEs35(yvy1600, yvy1610, app(app(ty_@2, efa), efb)) → new_esEs22(yvy1600, yvy1610, efa, efb)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_Double) → new_esEs18(yvy4000, yvy3000)
new_compare12(False, True) → LT
new_esEs9(yvy400, yvy300, app(ty_Ratio, cdb)) → new_esEs14(yvy400, yvy300, cdb)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Integer, eae) → new_esEs17(yvy4000, yvy3000)
new_esEs40(yvy1601, yvy1611, ty_Double) → new_esEs18(yvy1601, yvy1611)
new_esEs12(Nothing, Just(yvy3000), cgf) → False
new_esEs12(Just(yvy4000), Nothing, cgf) → False
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Bool, eae) → new_esEs20(yvy4000, yvy3000)
new_esEs34(yvy4000, yvy3000, ty_@0) → new_esEs25(yvy4000, yvy3000)
new_esEs39(yvy1600, yvy1610, app(ty_[], fch)) → new_esEs15(yvy1600, yvy1610, fch)
new_pePe(True, yvy295) → True
new_primEqNat0(Zero, Zero) → True
new_compare14(yvy236, yvy237, False, bce, bcf) → GT
new_esEs27(yvy4000, yvy3000, app(app(ty_@2, dah), dba)) → new_esEs22(yvy4000, yvy3000, dah, dba)
new_lt21(yvy205, yvy207, app(ty_Maybe, fac)) → new_lt18(yvy205, yvy207, fac)
new_compare31(yvy400, yvy300, app(ty_Ratio, cge)) → new_compare6(yvy400, yvy300, cge)
new_compare17(@3(yvy400, yvy401, yvy402), @3(yvy300, yvy301, yvy302), bf, bg, bh) → new_compare24(yvy400, yvy401, yvy402, yvy300, yvy301, yvy302, new_asAs(new_esEs4(yvy400, yvy300, bf), new_asAs(new_esEs5(yvy401, yvy301, bg), new_esEs6(yvy402, yvy302, bh))), bf, bg, bh)
new_lt21(yvy205, yvy207, app(app(ty_Either, faa), fab)) → new_lt16(yvy205, yvy207, faa, fab)
new_ltEs20(yvy174, yvy175, ty_Bool) → new_ltEs10(yvy174, yvy175)
new_ltEs20(yvy174, yvy175, ty_Integer) → new_ltEs14(yvy174, yvy175)
new_esEs7(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_lt24(yvy40, yvy50, ty_Char) → new_lt19(yvy40, yvy50)
new_esEs12(Nothing, Nothing, cgf) → True
new_esEs9(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_ltEs23(yvy206, yvy208, ty_Integer) → new_ltEs14(yvy206, yvy208)
new_esEs35(yvy1600, yvy1610, ty_Integer) → new_esEs17(yvy1600, yvy1610)
new_ltEs21(yvy160, yvy161, ty_Bool) → new_ltEs10(yvy160, yvy161)
new_esEs36(yvy205, yvy207, app(ty_Maybe, fac)) → new_esEs12(yvy205, yvy207, fac)
new_esEs8(yvy401, yvy301, app(ty_Maybe, bhf)) → new_esEs12(yvy401, yvy301, bhf)
new_ltEs20(yvy174, yvy175, app(app(ty_@2, bdc), bdd)) → new_ltEs9(yvy174, yvy175, bdc, bdd)
new_ltEs22(yvy1601, yvy1611, app(app(ty_@2, egc), egd)) → new_ltEs9(yvy1601, yvy1611, egc, egd)
new_gt0(yvy40, yvy30, cf) → new_esEs41(new_compare5(yvy40, yvy30, cf))
new_esEs12(Just(yvy4000), Just(yvy3000), app(app(ty_Either, cgg), cgh)) → new_esEs13(yvy4000, yvy3000, cgg, cgh)
new_esEs33(yvy4001, yvy3001, app(ty_[], dga)) → new_esEs15(yvy4001, yvy3001, dga)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Float) → new_ltEs12(yvy1600, yvy1610)
new_esEs29(yvy4002, yvy3002, ty_Bool) → new_esEs20(yvy4002, yvy3002)
new_ltEs6(EQ, GT) → True
new_esEs34(yvy4000, yvy3000, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_lt7(yvy192, yvy195, app(app(ty_@2, hb), hc)) → new_lt13(yvy192, yvy195, hb, hc)
new_esEs29(yvy4002, yvy3002, app(app(ty_Either, dch), dda)) → new_esEs13(yvy4002, yvy3002, dch, dda)
new_ltEs4(Right(yvy1600), Right(yvy1610), eg, ty_@0) → new_ltEs11(yvy1600, yvy1610)
new_esEs11(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_lt21(yvy205, yvy207, app(app(ty_@2, ehg), ehh)) → new_lt13(yvy205, yvy207, ehg, ehh)
new_lt22(yvy1600, yvy1610, app(ty_Maybe, fcg)) → new_lt18(yvy1600, yvy1610, fcg)
new_esEs27(yvy4000, yvy3000, app(app(app(ty_@3, dbc), dbd), dbe)) → new_esEs24(yvy4000, yvy3000, dbc, dbd, dbe)
new_esEs27(yvy4000, yvy3000, ty_Float) → new_esEs21(yvy4000, yvy3000)
new_primEqInt(Neg(Succ(yvy40000)), Neg(Succ(yvy30000))) → new_primEqNat0(yvy40000, yvy30000)
new_esEs19(EQ, EQ) → True
new_lt8(yvy193, yvy196, ty_Double) → new_lt12(yvy193, yvy196)
new_esEs16(yvy400, yvy300) → new_primEqInt(yvy400, yvy300)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Float, dg) → new_ltEs12(yvy1600, yvy1610)
new_esEs9(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_ltEs21(yvy160, yvy161, app(ty_[], cbb)) → new_ltEs15(yvy160, yvy161, cbb)
new_ltEs22(yvy1601, yvy1611, ty_Int) → new_ltEs7(yvy1601, yvy1611)
new_esEs5(yvy401, yvy301, ty_Bool) → new_esEs20(yvy401, yvy301)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs4(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_esEs40(yvy1601, yvy1611, app(app(app(ty_@3, fdb), fdc), fdd)) → new_esEs24(yvy1601, yvy1611, fdb, fdc, fdd)
new_esEs35(yvy1600, yvy1610, ty_Ordering) → new_esEs19(yvy1600, yvy1610)
new_compare6(:%(yvy400, yvy401), :%(yvy300, yvy301), ty_Integer) → new_compare8(new_sr(yvy400, yvy301), new_sr(yvy300, yvy401))
new_lt17(yvy40, yvy30) → new_esEs26(new_compare19(yvy40, yvy30))
new_compare211(yvy160, yvy161, False, cab, cac) → new_compare14(yvy160, yvy161, new_ltEs21(yvy160, yvy161, cab), cab, cac)
new_esEs29(yvy4002, yvy3002, ty_@0) → new_esEs25(yvy4002, yvy3002)
new_esEs34(yvy4000, yvy3000, app(ty_[], edg)) → new_esEs15(yvy4000, yvy3000, edg)
new_esEs33(yvy4001, yvy3001, ty_Integer) → new_esEs17(yvy4001, yvy3001)
new_ltEs4(Right(yvy1600), Right(yvy1610), eg, app(ty_Ratio, gb)) → new_ltEs17(yvy1600, yvy1610, gb)
new_ltEs6(GT, GT) → True
new_fsEs(yvy296) → new_not(new_esEs19(yvy296, GT))
new_ltEs24(yvy1602, yvy1612, ty_@0) → new_ltEs11(yvy1602, yvy1612)
new_esEs5(yvy401, yvy301, ty_Integer) → new_esEs17(yvy401, yvy301)
new_esEs7(yvy400, yvy300, app(app(ty_Either, bff), bfg)) → new_esEs13(yvy400, yvy300, bff, bfg)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_esEs4(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_esEs6(yvy402, yvy302, ty_@0) → new_esEs25(yvy402, yvy302)
new_esEs31(yvy193, yvy196, ty_Bool) → new_esEs20(yvy193, yvy196)
new_esEs6(yvy402, yvy302, app(ty_Ratio, ecd)) → new_esEs14(yvy402, yvy302, ecd)
new_esEs19(LT, EQ) → False
new_esEs19(EQ, LT) → False
new_compare11(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, True, da, db, dc) → LT
new_primEqInt(Pos(Succ(yvy40000)), Pos(Succ(yvy30000))) → new_primEqNat0(yvy40000, yvy30000)
new_compare28(Nothing, Just(yvy300), ce) → LT
new_ltEs18(yvy194, yvy197, ty_Double) → new_ltEs8(yvy194, yvy197)
new_compare31(yvy400, yvy300, app(app(app(ty_@3, cfd), cfe), cff)) → new_compare17(yvy400, yvy300, cfd, cfe, cff)
new_esEs13(Left(yvy4000), Left(yvy3000), app(app(ty_@2, fgb), fgc), eae) → new_esEs22(yvy4000, yvy3000, fgb, fgc)
new_ltEs4(Right(yvy1600), Right(yvy1610), eg, app(ty_[], ga)) → new_ltEs15(yvy1600, yvy1610, ga)
new_esEs5(yvy401, yvy301, app(ty_[], ebc)) → new_esEs15(yvy401, yvy301, ebc)
new_lt24(yvy40, yvy50, ty_@0) → new_lt15(yvy40, yvy50)
new_primEqNat0(Succ(yvy40000), Succ(yvy30000)) → new_primEqNat0(yvy40000, yvy30000)
new_esEs8(yvy401, yvy301, ty_@0) → new_esEs25(yvy401, yvy301)
new_esEs27(yvy4000, yvy3000, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_esEs35(yvy1600, yvy1610, app(ty_Maybe, efe)) → new_esEs12(yvy1600, yvy1610, efe)
new_gt9(yvy40, yvy30) → new_esEs41(new_compare12(yvy40, yvy30))
new_esEs7(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_compare5(:(yvy400, yvy401), :(yvy300, yvy301), cf) → new_primCompAux0(yvy400, yvy300, new_compare5(yvy401, yvy301, cf), cf)
new_ltEs20(yvy174, yvy175, ty_Char) → new_ltEs16(yvy174, yvy175)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Bool) → new_ltEs10(yvy1600, yvy1610)
new_esEs40(yvy1601, yvy1611, ty_Bool) → new_esEs20(yvy1601, yvy1611)
new_lt23(yvy1601, yvy1611, app(app(ty_Either, fdg), fdh)) → new_lt16(yvy1601, yvy1611, fdg, fdh)
new_esEs30(yvy192, yvy195, app(ty_Ratio, hh)) → new_esEs14(yvy192, yvy195, hh)
new_esEs11(yvy400, yvy300, app(app(app(ty_@3, bfa), bfb), bfc)) → new_esEs24(yvy400, yvy300, bfa, bfb, bfc)
new_compare13(yvy252, yvy253, True, gc) → LT
new_compare18(GT, LT) → GT
new_esEs29(yvy4002, yvy3002, ty_Double) → new_esEs18(yvy4002, yvy3002)
new_lt20(yvy1600, yvy1610, app(ty_Ratio, efg)) → new_lt6(yvy1600, yvy1610, efg)
new_esEs32(yvy4000, yvy3000, app(ty_Maybe, dfb)) → new_esEs12(yvy4000, yvy3000, dfb)
new_ltEs11(yvy160, yvy161) → new_fsEs(new_compare27(yvy160, yvy161))
new_ltEs18(yvy194, yvy197, app(app(ty_Either, bbh), bca)) → new_ltEs4(yvy194, yvy197, bbh, bca)
new_esEs32(yvy4000, yvy3000, app(ty_Ratio, def)) → new_esEs14(yvy4000, yvy3000, def)
new_ltEs22(yvy1601, yvy1611, ty_@0) → new_ltEs11(yvy1601, yvy1611)
new_gt2(yvy40, yvy30, cc, cd) → new_esEs41(new_compare16(yvy40, yvy30, cc, cd))
new_esEs11(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_esEs10(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_lt7(yvy192, yvy195, ty_Double) → new_lt12(yvy192, yvy195)
new_esEs31(yvy193, yvy196, ty_Integer) → new_esEs17(yvy193, yvy196)
new_primEqInt(Pos(Zero), Neg(Succ(yvy30000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(yvy30000))) → False
new_lt7(yvy192, yvy195, app(app(app(ty_@3, gg), gh), ha)) → new_lt9(yvy192, yvy195, gg, gh, ha)
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCompAux00(yvy180, EQ) → yvy180
new_esEs13(Left(yvy4000), Left(yvy3000), app(app(ty_Either, fff), ffg), eae) → new_esEs13(yvy4000, yvy3000, fff, ffg)
new_lt22(yvy1600, yvy1610, app(ty_[], fch)) → new_lt4(yvy1600, yvy1610, fch)
new_esEs36(yvy205, yvy207, app(ty_Ratio, fae)) → new_esEs14(yvy205, yvy207, fae)
new_ltEs24(yvy1602, yvy1612, app(ty_[], ffd)) → new_ltEs15(yvy1602, yvy1612, ffd)
new_ltEs23(yvy206, yvy208, app(ty_[], fbf)) → new_ltEs15(yvy206, yvy208, fbf)
new_compare31(yvy400, yvy300, app(ty_[], cgd)) → new_compare5(yvy400, yvy300, cgd)
new_esEs7(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(ty_[], ee), dg) → new_ltEs15(yvy1600, yvy1610, ee)
new_esEs30(yvy192, yvy195, ty_Double) → new_esEs18(yvy192, yvy195)
new_esEs28(yvy4001, yvy3001, app(ty_Ratio, dbh)) → new_esEs14(yvy4001, yvy3001, dbh)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_@0) → new_esEs25(yvy4000, yvy3000)
new_ltEs4(Right(yvy1600), Right(yvy1610), eg, app(ty_Maybe, fh)) → new_ltEs13(yvy1600, yvy1610, fh)
new_compare18(EQ, GT) → LT
new_esEs30(yvy192, yvy195, app(app(ty_@2, hb), hc)) → new_esEs22(yvy192, yvy195, hb, hc)
new_not(False) → True
new_lt8(yvy193, yvy196, ty_Integer) → new_lt5(yvy193, yvy196)
new_ltEs22(yvy1601, yvy1611, app(app(ty_Either, ege), egf)) → new_ltEs4(yvy1601, yvy1611, ege, egf)
new_esEs32(yvy4000, yvy3000, ty_Float) → new_esEs21(yvy4000, yvy3000)
new_compare31(yvy400, yvy300, app(ty_Maybe, cgc)) → new_compare28(yvy400, yvy300, cgc)
new_esEs36(yvy205, yvy207, ty_Integer) → new_esEs17(yvy205, yvy207)
new_esEs9(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_esEs6(yvy402, yvy302, ty_Int) → new_esEs16(yvy402, yvy302)
new_esEs11(yvy400, yvy300, app(app(ty_Either, beb), bec)) → new_esEs13(yvy400, yvy300, beb, bec)
new_lt20(yvy1600, yvy1610, app(app(ty_Either, efc), efd)) → new_lt16(yvy1600, yvy1610, efc, efd)
new_esEs32(yvy4000, yvy3000, app(ty_[], deg)) → new_esEs15(yvy4000, yvy3000, deg)
new_esEs13(Left(yvy4000), Left(yvy3000), app(ty_Maybe, fgd), eae) → new_esEs12(yvy4000, yvy3000, fgd)
new_lt24(yvy40, yvy50, app(ty_Maybe, ce)) → new_lt18(yvy40, yvy50, ce)
new_esEs9(yvy400, yvy300, app(app(ty_@2, cdd), cde)) → new_esEs22(yvy400, yvy300, cdd, cde)
new_esEs6(yvy402, yvy302, app(app(ty_Either, ecb), ecc)) → new_esEs13(yvy402, yvy302, ecb, ecc)
new_esEs28(yvy4001, yvy3001, app(app(ty_Either, dbf), dbg)) → new_esEs13(yvy4001, yvy3001, dbf, dbg)
new_compare28(Just(yvy400), Nothing, ce) → GT
new_lt24(yvy40, yvy50, ty_Bool) → new_lt14(yvy40, yvy50)
new_esEs5(yvy401, yvy301, ty_Char) → new_esEs23(yvy401, yvy301)
new_lt8(yvy193, yvy196, ty_Ordering) → new_lt10(yvy193, yvy196)
new_lt4(yvy40, yvy30, cf) → new_esEs26(new_compare5(yvy40, yvy30, cf))
new_lt24(yvy40, yvy50, ty_Ordering) → new_lt10(yvy40, yvy50)
new_lt8(yvy193, yvy196, app(ty_Maybe, bah)) → new_lt18(yvy193, yvy196, bah)
new_esEs30(yvy192, yvy195, ty_Char) → new_esEs23(yvy192, yvy195)
new_esEs34(yvy4000, yvy3000, app(app(ty_@2, edh), eea)) → new_esEs22(yvy4000, yvy3000, edh, eea)
new_esEs5(yvy401, yvy301, ty_Float) → new_esEs21(yvy401, yvy301)
new_ltEs18(yvy194, yvy197, ty_Int) → new_ltEs7(yvy194, yvy197)
new_lt24(yvy40, yvy50, ty_Int) → new_lt11(yvy40, yvy50)
new_primMulInt(Neg(yvy4000), Neg(yvy3000)) → Pos(new_primMulNat0(yvy4000, yvy3000))
new_primEqNat0(Zero, Succ(yvy30000)) → False
new_primEqNat0(Succ(yvy40000), Zero) → False
new_compare31(yvy400, yvy300, ty_Integer) → new_compare8(yvy400, yvy300)
new_compare25(yvy167, yvy168, True, dgh, dha) → EQ
new_ltEs6(EQ, LT) → False
new_esEs27(yvy4000, yvy3000, app(app(ty_Either, dad), dae)) → new_esEs13(yvy4000, yvy3000, dad, dae)
new_esEs11(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_ltEs20(yvy174, yvy175, ty_Int) → new_ltEs7(yvy174, yvy175)
new_esEs31(yvy193, yvy196, app(app(ty_@2, bad), bae)) → new_esEs22(yvy193, yvy196, bad, bae)
new_lt23(yvy1601, yvy1611, app(ty_Ratio, fec)) → new_lt6(yvy1601, yvy1611, fec)
new_lt24(yvy40, yvy50, ty_Float) → new_lt17(yvy40, yvy50)
new_gt(yvy81, yvy76, app(ty_[], ccd)) → new_gt0(yvy81, yvy76, ccd)
new_ltEs22(yvy1601, yvy1611, ty_Double) → new_ltEs8(yvy1601, yvy1611)
new_esEs32(yvy4000, yvy3000, ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_esEs12(Just(yvy4000), Just(yvy3000), app(ty_[], chb)) → new_esEs15(yvy4000, yvy3000, chb)
new_esEs13(Left(yvy4000), Left(yvy3000), app(ty_Ratio, ffh), eae) → new_esEs14(yvy4000, yvy3000, ffh)
new_esEs35(yvy1600, yvy1610, app(app(app(ty_@3, eef), eeg), eeh)) → new_esEs24(yvy1600, yvy1610, eef, eeg, eeh)
new_esEs32(yvy4000, yvy3000, ty_@0) → new_esEs25(yvy4000, yvy3000)
new_ltEs19(yvy167, yvy168, ty_Bool) → new_ltEs10(yvy167, yvy168)
new_gt(yvy81, yvy76, ty_Char) → new_gt13(yvy81, yvy76)
new_esEs6(yvy402, yvy302, app(ty_[], ece)) → new_esEs15(yvy402, yvy302, ece)
new_gt(yvy81, yvy76, app(app(ty_@2, cbg), cbh)) → new_gt8(yvy81, yvy76, cbg, cbh)
new_ltEs22(yvy1601, yvy1611, ty_Float) → new_ltEs12(yvy1601, yvy1611)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_ltEs22(yvy1601, yvy1611, ty_Char) → new_ltEs16(yvy1601, yvy1611)
new_gt(yvy81, yvy76, ty_@0) → new_gt10(yvy81, yvy76)
new_esEs31(yvy193, yvy196, app(app(app(ty_@3, baa), bab), bac)) → new_esEs24(yvy193, yvy196, baa, bab, bac)
new_esEs12(Just(yvy4000), Just(yvy3000), app(ty_Ratio, cha)) → new_esEs14(yvy4000, yvy3000, cha)
new_lt21(yvy205, yvy207, ty_Integer) → new_lt5(yvy205, yvy207)
new_esEs20(False, True) → False
new_esEs20(True, False) → False
new_esEs4(yvy400, yvy300, app(app(app(ty_@3, daa), dab), dac)) → new_esEs24(yvy400, yvy300, daa, dab, dac)
new_ltEs18(yvy194, yvy197, ty_Float) → new_ltEs12(yvy194, yvy197)
new_ltEs19(yvy167, yvy168, ty_Double) → new_ltEs8(yvy167, yvy168)
new_esEs40(yvy1601, yvy1611, app(app(ty_@2, fde), fdf)) → new_esEs22(yvy1601, yvy1611, fde, fdf)
new_esEs32(yvy4000, yvy3000, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_esEs7(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_esEs19(LT, LT) → True
new_esEs40(yvy1601, yvy1611, ty_Int) → new_esEs16(yvy1601, yvy1611)
new_esEs15([], :(yvy3000, yvy3001), eag) → False
new_esEs15(:(yvy4000, yvy4001), [], eag) → False
new_gt(yvy81, yvy76, ty_Bool) → new_gt9(yvy81, yvy76)
new_esEs28(yvy4001, yvy3001, app(app(app(ty_@3, dce), dcf), dcg)) → new_esEs24(yvy4001, yvy3001, dce, dcf, dcg)
new_compare5([], :(yvy300, yvy301), cf) → LT
new_compare29(@2(yvy400, yvy401), @2(yvy300, yvy301), ca, cb) → new_compare210(yvy400, yvy401, yvy300, yvy301, new_asAs(new_esEs7(yvy400, yvy300, ca), new_esEs8(yvy401, yvy301, cb)), ca, cb)
new_esEs11(yvy400, yvy300, app(ty_Ratio, bed)) → new_esEs14(yvy400, yvy300, bed)
new_gt13(yvy40, yvy30) → new_esEs41(new_compare30(yvy40, yvy30))
new_esEs37(yvy4000, yvy3000, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_esEs33(yvy4001, yvy3001, ty_Char) → new_esEs23(yvy4001, yvy3001)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Double) → new_ltEs8(yvy1600, yvy1610)
new_esEs32(yvy4000, yvy3000, app(app(ty_Either, ded), dee)) → new_esEs13(yvy4000, yvy3000, ded, dee)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs10(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Double, dg) → new_ltEs8(yvy1600, yvy1610)
new_ltEs10(True, False) → False
new_esEs40(yvy1601, yvy1611, ty_Ordering) → new_esEs19(yvy1601, yvy1611)
new_asAs(False, yvy230) → False
new_esEs10(yvy400, yvy300, app(app(app(ty_@3, cfa), cfb), cfc)) → new_esEs24(yvy400, yvy300, cfa, cfb, cfc)
new_primMulInt(Pos(yvy4000), Neg(yvy3000)) → Neg(new_primMulNat0(yvy4000, yvy3000))
new_primMulInt(Neg(yvy4000), Pos(yvy3000)) → Neg(new_primMulNat0(yvy4000, yvy3000))
new_esEs5(yvy401, yvy301, ty_@0) → new_esEs25(yvy401, yvy301)
new_lt11(yvy40, yvy30) → new_esEs26(new_compare7(yvy40, yvy30))
new_esEs6(yvy402, yvy302, app(ty_Maybe, ech)) → new_esEs12(yvy402, yvy302, ech)
new_esEs27(yvy4000, yvy3000, ty_@0) → new_esEs25(yvy4000, yvy3000)
new_esEs9(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_lt7(yvy192, yvy195, app(ty_[], hg)) → new_lt4(yvy192, yvy195, hg)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_lt19(yvy40, yvy30) → new_esEs26(new_compare30(yvy40, yvy30))
new_esEs13(Right(yvy4000), Right(yvy3000), ead, app(ty_Maybe, fhf)) → new_esEs12(yvy4000, yvy3000, fhf)
new_esEs29(yvy4002, yvy3002, ty_Char) → new_esEs23(yvy4002, yvy3002)
new_esEs40(yvy1601, yvy1611, ty_Char) → new_esEs23(yvy1601, yvy1611)
new_lt20(yvy1600, yvy1610, app(ty_[], eff)) → new_lt4(yvy1600, yvy1610, eff)
new_compare31(yvy400, yvy300, ty_Float) → new_compare19(yvy400, yvy300)
new_esEs28(yvy4001, yvy3001, app(app(ty_@2, dcb), dcc)) → new_esEs22(yvy4001, yvy3001, dcb, dcc)
new_lt22(yvy1600, yvy1610, ty_@0) → new_lt15(yvy1600, yvy1610)
new_esEs28(yvy4001, yvy3001, ty_Double) → new_esEs18(yvy4001, yvy3001)
new_compare9(Double(yvy400, yvy401), Double(yvy300, yvy301)) → new_compare7(new_sr0(yvy400, yvy300), new_sr0(yvy401, yvy301))
new_esEs7(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_esEs40(yvy1601, yvy1611, ty_Float) → new_esEs21(yvy1601, yvy1611)
new_ltEs18(yvy194, yvy197, app(ty_Ratio, bcd)) → new_ltEs17(yvy194, yvy197, bcd)
new_compare111(yvy279, yvy280, yvy281, yvy282, False, ccf, ccg) → GT
new_ltEs18(yvy194, yvy197, app(ty_Maybe, bcb)) → new_ltEs13(yvy194, yvy197, bcb)
new_esEs34(yvy4000, yvy3000, ty_Float) → new_esEs21(yvy4000, yvy3000)
new_esEs8(yvy401, yvy301, app(app(ty_@2, bhd), bhe)) → new_esEs22(yvy401, yvy301, bhd, bhe)
new_ltEs6(LT, GT) → True
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_@0, dg) → new_ltEs11(yvy1600, yvy1610)
new_esEs27(yvy4000, yvy3000, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_ltEs21(yvy160, yvy161, ty_Char) → new_ltEs16(yvy160, yvy161)
new_esEs39(yvy1600, yvy1610, app(app(ty_@2, fcc), fcd)) → new_esEs22(yvy1600, yvy1610, fcc, fcd)
new_esEs7(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_ltEs21(yvy160, yvy161, ty_Ordering) → new_ltEs6(yvy160, yvy161)
new_esEs13(Right(yvy4000), Left(yvy3000), ead, eae) → False
new_esEs13(Left(yvy4000), Right(yvy3000), ead, eae) → False
new_esEs13(Right(yvy4000), Right(yvy3000), ead, app(app(ty_Either, fgh), fha)) → new_esEs13(yvy4000, yvy3000, fgh, fha)
new_lt24(yvy40, yvy50, app(app(ty_Either, cc), cd)) → new_lt16(yvy40, yvy50, cc, cd)
new_lt22(yvy1600, yvy1610, ty_Int) → new_lt11(yvy1600, yvy1610)
new_ltEs23(yvy206, yvy208, app(app(ty_@2, fba), fbb)) → new_ltEs9(yvy206, yvy208, fba, fbb)
new_esEs39(yvy1600, yvy1610, ty_Char) → new_esEs23(yvy1600, yvy1610)
new_lt20(yvy1600, yvy1610, ty_Integer) → new_lt5(yvy1600, yvy1610)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Float, eae) → new_esEs21(yvy4000, yvy3000)
new_esEs41(GT) → True
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Int, eae) → new_esEs16(yvy4000, yvy3000)
new_esEs4(yvy400, yvy300, app(app(ty_@2, deb), dec)) → new_esEs22(yvy400, yvy300, deb, dec)
new_esEs39(yvy1600, yvy1610, ty_Float) → new_esEs21(yvy1600, yvy1610)
new_esEs4(yvy400, yvy300, app(app(ty_Either, ead), eae)) → new_esEs13(yvy400, yvy300, ead, eae)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_compare14(yvy236, yvy237, True, bce, bcf) → LT
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Float) → new_esEs21(yvy4000, yvy3000)
new_esEs39(yvy1600, yvy1610, ty_Integer) → new_esEs17(yvy1600, yvy1610)
new_compare31(yvy400, yvy300, app(app(ty_Either, cga), cgb)) → new_compare16(yvy400, yvy300, cga, cgb)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_Char) → new_esEs23(yvy4000, yvy3000)
new_ltEs4(Right(yvy1600), Right(yvy1610), eg, ty_Double) → new_ltEs8(yvy1600, yvy1610)
new_gt4(yvy40, yvy30) → new_esEs41(new_compare19(yvy40, yvy30))
new_esEs39(yvy1600, yvy1610, app(app(ty_Either, fce), fcf)) → new_esEs13(yvy1600, yvy1610, fce, fcf)
new_ltEs21(yvy160, yvy161, ty_Float) → new_ltEs12(yvy160, yvy161)
new_esEs12(Just(yvy4000), Just(yvy3000), app(ty_Maybe, che)) → new_esEs12(yvy4000, yvy3000, che)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_ltEs10(True, True) → True
new_ltEs6(LT, EQ) → True
new_lt21(yvy205, yvy207, app(ty_Ratio, fae)) → new_lt6(yvy205, yvy207, fae)
new_esEs26(LT) → True
new_ltEs6(GT, LT) → False
new_asAs(True, yvy230) → yvy230
new_ltEs7(yvy160, yvy161) → new_fsEs(new_compare7(yvy160, yvy161))
new_lt21(yvy205, yvy207, app(ty_[], fad)) → new_lt4(yvy205, yvy207, fad)
new_esEs30(yvy192, yvy195, ty_Integer) → new_esEs17(yvy192, yvy195)
new_compare25(yvy167, yvy168, False, dgh, dha) → new_compare15(yvy167, yvy168, new_ltEs19(yvy167, yvy168, dha), dgh, dha)
new_ltEs19(yvy167, yvy168, ty_Float) → new_ltEs12(yvy167, yvy168)
new_ltEs23(yvy206, yvy208, ty_Int) → new_ltEs7(yvy206, yvy208)
new_ltEs16(yvy160, yvy161) → new_fsEs(new_compare30(yvy160, yvy161))
new_primCompAux0(yvy400, yvy300, yvy115, cf) → new_primCompAux00(yvy115, new_compare31(yvy400, yvy300, cf))
new_esEs7(yvy400, yvy300, app(ty_Ratio, bfh)) → new_esEs14(yvy400, yvy300, bfh)
new_esEs30(yvy192, yvy195, ty_Bool) → new_esEs20(yvy192, yvy195)
new_esEs39(yvy1600, yvy1610, app(app(app(ty_@3, fbh), fca), fcb)) → new_esEs24(yvy1600, yvy1610, fbh, fca, fcb)
new_esEs29(yvy4002, yvy3002, app(ty_[], ddc)) → new_esEs15(yvy4002, yvy3002, ddc)
new_ltEs13(Just(yvy1600), Just(yvy1610), app(app(app(ty_@3, gab), gac), gad)) → new_ltEs5(yvy1600, yvy1610, gab, gac, gad)
new_compare5([], [], cf) → EQ
new_esEs34(yvy4000, yvy3000, app(app(app(ty_@3, eec), eed), eee)) → new_esEs24(yvy4000, yvy3000, eec, eed, eee)
new_ltEs20(yvy174, yvy175, ty_Ordering) → new_ltEs6(yvy174, yvy175)
new_esEs30(yvy192, yvy195, app(ty_[], hg)) → new_esEs15(yvy192, yvy195, hg)
new_esEs36(yvy205, yvy207, app(ty_[], fad)) → new_esEs15(yvy205, yvy207, fad)
new_esEs34(yvy4000, yvy3000, ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_@0, eae) → new_esEs25(yvy4000, yvy3000)
new_ltEs21(yvy160, yvy161, ty_Int) → new_ltEs7(yvy160, yvy161)
new_lt8(yvy193, yvy196, ty_Int) → new_lt11(yvy193, yvy196)
new_ltEs5(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), cad, cae, caf) → new_pePe(new_lt22(yvy1600, yvy1610, cad), new_asAs(new_esEs39(yvy1600, yvy1610, cad), new_pePe(new_lt23(yvy1601, yvy1611, cae), new_asAs(new_esEs40(yvy1601, yvy1611, cae), new_ltEs24(yvy1602, yvy1612, caf)))))
new_esEs33(yvy4001, yvy3001, app(app(ty_Either, dff), dfg)) → new_esEs13(yvy4001, yvy3001, dff, dfg)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_lt8(yvy193, yvy196, ty_@0) → new_lt15(yvy193, yvy196)
new_not(True) → False
new_compare210(yvy205, yvy206, yvy207, yvy208, True, ehb, ehc) → EQ
new_ltEs23(yvy206, yvy208, ty_Float) → new_ltEs12(yvy206, yvy208)
new_gt(yvy81, yvy76, app(app(app(ty_@3, cbd), cbe), cbf)) → new_gt1(yvy81, yvy76, cbd, cbe, cbf)
new_esEs29(yvy4002, yvy3002, ty_Int) → new_esEs16(yvy4002, yvy3002)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, app(ty_Ratio, fhb)) → new_esEs14(yvy4000, yvy3000, fhb)
new_ltEs8(yvy160, yvy161) → new_fsEs(new_compare9(yvy160, yvy161))
new_esEs20(True, True) → True
new_lt5(yvy40, yvy30) → new_esEs26(new_compare8(yvy40, yvy30))
new_ltEs21(yvy160, yvy161, ty_@0) → new_ltEs11(yvy160, yvy161)
new_ltEs13(Just(yvy1600), Just(yvy1610), app(ty_[], gbb)) → new_ltEs15(yvy1600, yvy1610, gbb)
new_esEs8(yvy401, yvy301, ty_Bool) → new_esEs20(yvy401, yvy301)
new_compare16(Right(yvy400), Right(yvy300), cc, cd) → new_compare25(yvy400, yvy300, new_esEs10(yvy400, yvy300, cd), cc, cd)
new_ltEs10(False, True) → True
new_esEs28(yvy4001, yvy3001, app(ty_[], dca)) → new_esEs15(yvy4001, yvy3001, dca)
new_compare15(yvy245, yvy246, True, bfd, bfe) → LT
new_lt22(yvy1600, yvy1610, app(ty_Ratio, fda)) → new_lt6(yvy1600, yvy1610, fda)
new_esEs32(yvy4000, yvy3000, app(app(app(ty_@3, dfc), dfd), dfe)) → new_esEs24(yvy4000, yvy3000, dfc, dfd, dfe)
new_lt22(yvy1600, yvy1610, app(app(ty_@2, fcc), fcd)) → new_lt13(yvy1600, yvy1610, fcc, fcd)
new_esEs27(yvy4000, yvy3000, ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_esEs28(yvy4001, yvy3001, ty_Float) → new_esEs21(yvy4001, yvy3001)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(ty_Ratio, ef), dg) → new_ltEs17(yvy1600, yvy1610, ef)
new_ltEs24(yvy1602, yvy1612, ty_Ordering) → new_ltEs6(yvy1602, yvy1612)
new_esEs39(yvy1600, yvy1610, ty_Int) → new_esEs16(yvy1600, yvy1610)
new_esEs5(yvy401, yvy301, ty_Int) → new_esEs16(yvy401, yvy301)
new_primMulNat0(Zero, Zero) → Zero
new_lt21(yvy205, yvy207, ty_Double) → new_lt12(yvy205, yvy207)
new_ltEs20(yvy174, yvy175, ty_Float) → new_ltEs12(yvy174, yvy175)
new_ltEs4(Right(yvy1600), Right(yvy1610), eg, ty_Bool) → new_ltEs10(yvy1600, yvy1610)
new_lt23(yvy1601, yvy1611, app(ty_[], feb)) → new_lt4(yvy1601, yvy1611, feb)
new_gt(yvy81, yvy76, ty_Ordering) → new_gt6(yvy81, yvy76)
new_ltEs20(yvy174, yvy175, ty_@0) → new_ltEs11(yvy174, yvy175)
new_ltEs13(Nothing, Just(yvy1610), cba) → True
new_ltEs24(yvy1602, yvy1612, ty_Char) → new_ltEs16(yvy1602, yvy1612)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Integer) → new_ltEs14(yvy1600, yvy1610)
new_esEs4(yvy400, yvy300, app(ty_[], eag)) → new_esEs15(yvy400, yvy300, eag)
new_lt24(yvy40, yvy50, app(app(ty_@2, ca), cb)) → new_lt13(yvy40, yvy50, ca, cb)
new_esEs35(yvy1600, yvy1610, ty_Float) → new_esEs21(yvy1600, yvy1610)
new_esEs21(Float(yvy4000, yvy4001), Float(yvy3000, yvy3001)) → new_esEs16(new_sr0(yvy4000, yvy3000), new_sr0(yvy4001, yvy3001))
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_Float) → new_esEs21(yvy4000, yvy3000)
new_esEs36(yvy205, yvy207, app(app(ty_Either, faa), fab)) → new_esEs13(yvy205, yvy207, faa, fab)
new_esEs6(yvy402, yvy302, ty_Ordering) → new_esEs19(yvy402, yvy302)
new_ltEs23(yvy206, yvy208, app(app(ty_Either, fbc), fbd)) → new_ltEs4(yvy206, yvy208, fbc, fbd)
new_compare28(Just(yvy400), Just(yvy300), ce) → new_compare26(yvy400, yvy300, new_esEs11(yvy400, yvy300, ce), ce)
new_compare28(Nothing, Nothing, ce) → EQ
new_ltEs13(Just(yvy1600), Just(yvy1610), app(app(ty_Either, gag), gah)) → new_ltEs4(yvy1600, yvy1610, gag, gah)
new_esEs32(yvy4000, yvy3000, ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_compare16(Left(yvy400), Left(yvy300), cc, cd) → new_compare211(yvy400, yvy300, new_esEs9(yvy400, yvy300, cc), cc, cd)
new_esEs4(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_esEs10(yvy400, yvy300, app(ty_[], cee)) → new_esEs15(yvy400, yvy300, cee)
new_esEs30(yvy192, yvy195, ty_Ordering) → new_esEs19(yvy192, yvy195)
new_esEs9(yvy400, yvy300, app(ty_[], cdc)) → new_esEs15(yvy400, yvy300, cdc)
new_esEs38(yvy4001, yvy3001, ty_Integer) → new_esEs17(yvy4001, yvy3001)
new_compare210(yvy205, yvy206, yvy207, yvy208, False, ehb, ehc) → new_compare110(yvy205, yvy206, yvy207, yvy208, new_lt21(yvy205, yvy207, ehb), new_asAs(new_esEs36(yvy205, yvy207, ehb), new_ltEs23(yvy206, yvy208, ehc)), ehb, ehc)
new_ltEs18(yvy194, yvy197, ty_Bool) → new_ltEs10(yvy194, yvy197)
new_lt8(yvy193, yvy196, app(ty_Ratio, bbb)) → new_lt6(yvy193, yvy196, bbb)
new_esEs32(yvy4000, yvy3000, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_compare31(yvy400, yvy300, ty_Char) → new_compare30(yvy400, yvy300)
new_esEs28(yvy4001, yvy3001, ty_Ordering) → new_esEs19(yvy4001, yvy3001)
new_lt20(yvy1600, yvy1610, ty_Float) → new_lt17(yvy1600, yvy1610)
new_esEs17(Integer(yvy4000), Integer(yvy3000)) → new_primEqInt(yvy4000, yvy3000)
new_lt20(yvy1600, yvy1610, ty_Bool) → new_lt14(yvy1600, yvy1610)
new_compare18(EQ, EQ) → EQ
new_lt7(yvy192, yvy195, ty_Bool) → new_lt14(yvy192, yvy195)
new_gt11(yvy40, yvy30, ce) → new_esEs41(new_compare28(yvy40, yvy30, ce))
new_lt22(yvy1600, yvy1610, ty_Char) → new_lt19(yvy1600, yvy1610)
new_ltEs22(yvy1601, yvy1611, app(ty_Maybe, egg)) → new_ltEs13(yvy1601, yvy1611, egg)
new_esEs8(yvy401, yvy301, app(app(app(ty_@3, bhg), bhh), caa)) → new_esEs24(yvy401, yvy301, bhg, bhh, caa)
new_ltEs21(yvy160, yvy161, ty_Double) → new_ltEs8(yvy160, yvy161)
new_compare31(yvy400, yvy300, app(app(ty_@2, cfg), cfh)) → new_compare29(yvy400, yvy300, cfg, cfh)
new_compare11(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, False, da, db, dc) → GT
new_esEs11(yvy400, yvy300, app(ty_Maybe, beh)) → new_esEs12(yvy400, yvy300, beh)
new_esEs40(yvy1601, yvy1611, app(ty_Ratio, fec)) → new_esEs14(yvy1601, yvy1611, fec)
new_compare12(True, True) → EQ
new_lt9(yvy40, yvy30, bf, bg, bh) → new_esEs26(new_compare17(yvy40, yvy30, bf, bg, bh))
new_ltEs4(Left(yvy1600), Left(yvy1610), app(ty_Maybe, ed), dg) → new_ltEs13(yvy1600, yvy1610, ed)
new_gt(yvy81, yvy76, app(ty_Maybe, ccc)) → new_gt11(yvy81, yvy76, ccc)
new_esEs11(yvy400, yvy300, app(ty_[], bee)) → new_esEs15(yvy400, yvy300, bee)
new_esEs11(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_ltEs4(Left(yvy1600), Right(yvy1610), eg, dg) → True
new_ltEs19(yvy167, yvy168, ty_Int) → new_ltEs7(yvy167, yvy168)
new_compare18(GT, GT) → EQ
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_esEs38(yvy4001, yvy3001, ty_Int) → new_esEs16(yvy4001, yvy3001)
new_esEs39(yvy1600, yvy1610, ty_Bool) → new_esEs20(yvy1600, yvy1610)
new_gt5(yvy40, yvy30, cg) → new_esEs41(new_compare6(yvy40, yvy30, cg))
new_esEs36(yvy205, yvy207, ty_Bool) → new_esEs20(yvy205, yvy207)
new_lt20(yvy1600, yvy1610, ty_@0) → new_lt15(yvy1600, yvy1610)
new_lt20(yvy1600, yvy1610, ty_Char) → new_lt19(yvy1600, yvy1610)
new_esEs10(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_esEs8(yvy401, yvy301, ty_Float) → new_esEs21(yvy401, yvy301)
new_esEs30(yvy192, yvy195, app(ty_Maybe, hf)) → new_esEs12(yvy192, yvy195, hf)
new_esEs29(yvy4002, yvy3002, ty_Ordering) → new_esEs19(yvy4002, yvy3002)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Char) → new_ltEs16(yvy1600, yvy1610)
new_compare18(LT, GT) → LT
new_esEs27(yvy4000, yvy3000, app(ty_Maybe, dbb)) → new_esEs12(yvy4000, yvy3000, dbb)
new_gt10(yvy40, yvy30) → new_esEs41(new_compare27(yvy40, yvy30))
new_esEs32(yvy4000, yvy3000, ty_Char) → new_esEs23(yvy4000, yvy3000)
new_esEs7(yvy400, yvy300, app(app(ty_@2, bgb), bgc)) → new_esEs22(yvy400, yvy300, bgb, bgc)
new_lt21(yvy205, yvy207, ty_Bool) → new_lt14(yvy205, yvy207)
new_ltEs4(Right(yvy1600), Right(yvy1610), eg, app(app(ty_@2, fc), fd)) → new_ltEs9(yvy1600, yvy1610, fc, fd)
new_compare31(yvy400, yvy300, ty_Ordering) → new_compare18(yvy400, yvy300)
new_esEs33(yvy4001, yvy3001, ty_Int) → new_esEs16(yvy4001, yvy3001)
new_esEs9(yvy400, yvy300, app(app(ty_Either, cch), cda)) → new_esEs13(yvy400, yvy300, cch, cda)
new_esEs9(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_esEs6(yvy402, yvy302, ty_Float) → new_esEs21(yvy402, yvy302)
new_gt8(yvy40, yvy30, ca, cb) → new_esEs41(new_compare29(yvy40, yvy30, ca, cb))
new_ltEs19(yvy167, yvy168, ty_Ordering) → new_ltEs6(yvy167, yvy168)
new_compare7(yvy40, yvy30) → new_primCmpInt(yvy40, yvy30)
new_esEs30(yvy192, yvy195, ty_@0) → new_esEs25(yvy192, yvy195)
new_esEs8(yvy401, yvy301, ty_Char) → new_esEs23(yvy401, yvy301)
new_esEs33(yvy4001, yvy3001, ty_Bool) → new_esEs20(yvy4001, yvy3001)
new_compare31(yvy400, yvy300, ty_Double) → new_compare9(yvy400, yvy300)
new_esEs5(yvy401, yvy301, app(app(ty_Either, eah), eba)) → new_esEs13(yvy401, yvy301, eah, eba)
new_esEs34(yvy4000, yvy3000, ty_Double) → new_esEs18(yvy4000, yvy3000)
new_gt(yvy81, yvy76, ty_Int) → new_gt3(yvy81, yvy76)
new_esEs31(yvy193, yvy196, app(ty_[], bba)) → new_esEs15(yvy193, yvy196, bba)
new_ltEs18(yvy194, yvy197, ty_Ordering) → new_ltEs6(yvy194, yvy197)
new_esEs29(yvy4002, yvy3002, ty_Float) → new_esEs21(yvy4002, yvy3002)
new_lt23(yvy1601, yvy1611, ty_Bool) → new_lt14(yvy1601, yvy1611)
new_compare110(yvy279, yvy280, yvy281, yvy282, False, yvy284, ccf, ccg) → new_compare111(yvy279, yvy280, yvy281, yvy282, yvy284, ccf, ccg)
new_lt22(yvy1600, yvy1610, app(app(ty_Either, fce), fcf)) → new_lt16(yvy1600, yvy1610, fce, fcf)
new_ltEs20(yvy174, yvy175, app(app(app(ty_@3, bch), bda), bdb)) → new_ltEs5(yvy174, yvy175, bch, bda, bdb)
new_esEs10(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_esEs30(yvy192, yvy195, ty_Float) → new_esEs21(yvy192, yvy195)
new_esEs32(yvy4000, yvy3000, app(app(ty_@2, deh), dfa)) → new_esEs22(yvy4000, yvy3000, deh, dfa)
new_ltEs19(yvy167, yvy168, app(ty_Ratio, eac)) → new_ltEs17(yvy167, yvy168, eac)
new_ltEs17(yvy160, yvy161, cbc) → new_fsEs(new_compare6(yvy160, yvy161, cbc))
new_esEs25(@0, @0) → True
new_gt1(yvy40, yvy30, bf, bg, bh) → new_esEs41(new_compare17(yvy40, yvy30, bf, bg, bh))
new_compare111(yvy279, yvy280, yvy281, yvy282, True, ccf, ccg) → LT
new_esEs35(yvy1600, yvy1610, ty_Double) → new_esEs18(yvy1600, yvy1610)
new_lt20(yvy1600, yvy1610, app(ty_Maybe, efe)) → new_lt18(yvy1600, yvy1610, efe)
new_esEs27(yvy4000, yvy3000, ty_Char) → new_esEs23(yvy4000, yvy3000)
new_esEs13(Left(yvy4000), Left(yvy3000), app(app(app(ty_@3, fge), fgf), fgg), eae) → new_esEs24(yvy4000, yvy3000, fge, fgf, fgg)
new_esEs8(yvy401, yvy301, ty_Double) → new_esEs18(yvy401, yvy301)
new_ltEs6(EQ, EQ) → True
new_esEs26(GT) → False
new_ltEs20(yvy174, yvy175, app(ty_Ratio, bea)) → new_ltEs17(yvy174, yvy175, bea)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_@0) → new_ltEs11(yvy1600, yvy1610)
new_esEs28(yvy4001, yvy3001, ty_Int) → new_esEs16(yvy4001, yvy3001)
new_esEs5(yvy401, yvy301, app(app(ty_@2, ebd), ebe)) → new_esEs22(yvy401, yvy301, ebd, ebe)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(app(ty_Either, eb), ec), dg) → new_ltEs4(yvy1600, yvy1610, eb, ec)
new_primEqInt(Neg(Succ(yvy40000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(yvy30000))) → False
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Ordering, eae) → new_esEs19(yvy4000, yvy3000)
new_lt22(yvy1600, yvy1610, app(app(app(ty_@3, fbh), fca), fcb)) → new_lt9(yvy1600, yvy1610, fbh, fca, fcb)
new_gt(yvy81, yvy76, ty_Double) → new_gt7(yvy81, yvy76)
new_gt12(yvy40, yvy30) → new_esEs41(new_compare8(yvy40, yvy30))
new_compare10(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, True, yvy271, da, db, dc) → new_compare11(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, True, da, db, dc)
new_esEs7(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_esEs39(yvy1600, yvy1610, app(ty_Maybe, fcg)) → new_esEs12(yvy1600, yvy1610, fcg)
new_esEs5(yvy401, yvy301, app(ty_Maybe, ebf)) → new_esEs12(yvy401, yvy301, ebf)
new_ltEs21(yvy160, yvy161, app(app(ty_Either, eg), dg)) → new_ltEs4(yvy160, yvy161, eg, dg)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, app(app(ty_@2, fhd), fhe)) → new_esEs22(yvy4000, yvy3000, fhd, fhe)
new_esEs39(yvy1600, yvy1610, app(ty_Ratio, fda)) → new_esEs14(yvy1600, yvy1610, fda)
new_esEs7(yvy400, yvy300, app(app(app(ty_@3, bge), bgf), bgg)) → new_esEs24(yvy400, yvy300, bge, bgf, bgg)
new_ltEs24(yvy1602, yvy1612, app(app(app(ty_@3, fed), fee), fef)) → new_ltEs5(yvy1602, yvy1612, fed, fee, fef)
new_ltEs19(yvy167, yvy168, ty_@0) → new_ltEs11(yvy167, yvy168)
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Int) → new_esEs16(yvy4000, yvy3000)
new_esEs35(yvy1600, yvy1610, ty_Char) → new_esEs23(yvy1600, yvy1610)
new_compare5(:(yvy400, yvy401), [], cf) → GT
new_esEs29(yvy4002, yvy3002, app(ty_Maybe, ddf)) → new_esEs12(yvy4002, yvy3002, ddf)
new_esEs31(yvy193, yvy196, ty_Double) → new_esEs18(yvy193, yvy196)
new_esEs30(yvy192, yvy195, ty_Int) → new_esEs16(yvy192, yvy195)
new_lt7(yvy192, yvy195, app(ty_Maybe, hf)) → new_lt18(yvy192, yvy195, hf)
new_esEs18(Double(yvy4000, yvy4001), Double(yvy3000, yvy3001)) → new_esEs16(new_sr0(yvy4000, yvy3000), new_sr0(yvy4001, yvy3001))
new_esEs6(yvy402, yvy302, ty_Bool) → new_esEs20(yvy402, yvy302)
new_esEs40(yvy1601, yvy1611, app(app(ty_Either, fdg), fdh)) → new_esEs13(yvy1601, yvy1611, fdg, fdh)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Char, dg) → new_ltEs16(yvy1600, yvy1610)
new_primCompAux00(yvy180, LT) → LT
new_esEs33(yvy4001, yvy3001, app(app(ty_@2, dgb), dgc)) → new_esEs22(yvy4001, yvy3001, dgb, dgc)
new_ltEs4(Right(yvy1600), Right(yvy1610), eg, ty_Float) → new_ltEs12(yvy1600, yvy1610)
new_esEs15([], [], eag) → True
new_ltEs23(yvy206, yvy208, ty_Bool) → new_ltEs10(yvy206, yvy208)
new_lt8(yvy193, yvy196, app(ty_[], bba)) → new_lt4(yvy193, yvy196, bba)
new_primEqInt(Pos(Succ(yvy40000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(yvy30000))) → False
new_lt8(yvy193, yvy196, app(app(ty_@2, bad), bae)) → new_lt13(yvy193, yvy196, bad, bae)
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_esEs33(yvy4001, yvy3001, app(app(app(ty_@3, dge), dgf), dgg)) → new_esEs24(yvy4001, yvy3001, dge, dgf, dgg)
new_esEs5(yvy401, yvy301, ty_Ordering) → new_esEs19(yvy401, yvy301)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_ltEs21(yvy160, yvy161, app(ty_Ratio, cbc)) → new_ltEs17(yvy160, yvy161, cbc)
new_esEs36(yvy205, yvy207, ty_Double) → new_esEs18(yvy205, yvy207)
new_gt(yvy81, yvy76, ty_Integer) → new_gt12(yvy81, yvy76)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_esEs34(yvy4000, yvy3000, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_esEs7(yvy400, yvy300, app(ty_Maybe, bgd)) → new_esEs12(yvy400, yvy300, bgd)
new_primEqInt(Pos(Succ(yvy40000)), Neg(yvy3000)) → False
new_primEqInt(Neg(Succ(yvy40000)), Pos(yvy3000)) → False
new_esEs8(yvy401, yvy301, app(app(ty_Either, bgh), bha)) → new_esEs13(yvy401, yvy301, bgh, bha)
new_esEs35(yvy1600, yvy1610, ty_Int) → new_esEs16(yvy1600, yvy1610)
new_esEs20(False, False) → True
new_esEs12(Just(yvy4000), Just(yvy3000), app(app(app(ty_@3, chf), chg), chh)) → new_esEs24(yvy4000, yvy3000, chf, chg, chh)
new_lt24(yvy40, yvy50, ty_Double) → new_lt12(yvy40, yvy50)
new_ltEs24(yvy1602, yvy1612, ty_Bool) → new_ltEs10(yvy1602, yvy1612)
new_lt20(yvy1600, yvy1610, app(app(ty_@2, efa), efb)) → new_lt13(yvy1600, yvy1610, efa, efb)
new_ltEs19(yvy167, yvy168, app(app(ty_@2, dhe), dhf)) → new_ltEs9(yvy167, yvy168, dhe, dhf)
new_compare18(EQ, LT) → GT
new_lt18(yvy40, yvy30, ce) → new_esEs26(new_compare28(yvy40, yvy30, ce))
new_esEs10(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_lt23(yvy1601, yvy1611, ty_Char) → new_lt19(yvy1601, yvy1611)
new_lt24(yvy40, yvy50, app(app(app(ty_@3, bf), bg), bh)) → new_lt9(yvy40, yvy50, bf, bg, bh)
new_ltEs18(yvy194, yvy197, app(app(ty_@2, bbf), bbg)) → new_ltEs9(yvy194, yvy197, bbf, bbg)
new_lt20(yvy1600, yvy1610, app(app(app(ty_@3, eef), eeg), eeh)) → new_lt9(yvy1600, yvy1610, eef, eeg, eeh)
new_lt23(yvy1601, yvy1611, app(app(app(ty_@3, fdb), fdc), fdd)) → new_lt9(yvy1601, yvy1611, fdb, fdc, fdd)
new_ltEs23(yvy206, yvy208, ty_@0) → new_ltEs11(yvy206, yvy208)
new_esEs9(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_esEs41(EQ) → False
new_esEs40(yvy1601, yvy1611, ty_@0) → new_esEs25(yvy1601, yvy1611)
new_esEs5(yvy401, yvy301, app(app(app(ty_@3, ebg), ebh), eca)) → new_esEs24(yvy401, yvy301, ebg, ebh, eca)
new_lt15(yvy40, yvy30) → new_esEs26(new_compare27(yvy40, yvy30))
new_compare26(yvy174, yvy175, True, bcg) → EQ
new_ltEs23(yvy206, yvy208, ty_Double) → new_ltEs8(yvy206, yvy208)
new_ltEs4(Right(yvy1600), Right(yvy1610), eg, ty_Char) → new_ltEs16(yvy1600, yvy1610)
new_lt23(yvy1601, yvy1611, ty_Float) → new_lt17(yvy1601, yvy1611)
new_esEs11(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Ordering) → new_ltEs6(yvy1600, yvy1610)
new_ltEs4(Right(yvy1600), Left(yvy1610), eg, dg) → False
new_ltEs23(yvy206, yvy208, app(ty_Ratio, fbg)) → new_ltEs17(yvy206, yvy208, fbg)
new_esEs10(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_esEs33(yvy4001, yvy3001, ty_Double) → new_esEs18(yvy4001, yvy3001)
new_esEs8(yvy401, yvy301, ty_Ordering) → new_esEs19(yvy401, yvy301)
new_esEs40(yvy1601, yvy1611, ty_Integer) → new_esEs17(yvy1601, yvy1611)
new_esEs6(yvy402, yvy302, app(app(ty_@2, ecf), ecg)) → new_esEs22(yvy402, yvy302, ecf, ecg)
new_ltEs24(yvy1602, yvy1612, ty_Float) → new_ltEs12(yvy1602, yvy1612)
new_esEs31(yvy193, yvy196, app(ty_Ratio, bbb)) → new_esEs14(yvy193, yvy196, bbb)
new_esEs36(yvy205, yvy207, ty_Int) → new_esEs16(yvy205, yvy207)
new_lt21(yvy205, yvy207, app(app(app(ty_@3, ehd), ehe), ehf)) → new_lt9(yvy205, yvy207, ehd, ehe, ehf)
new_esEs4(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_esEs19(LT, GT) → False
new_esEs19(GT, LT) → False
new_ltEs19(yvy167, yvy168, app(ty_[], eab)) → new_ltEs15(yvy167, yvy168, eab)
new_lt21(yvy205, yvy207, ty_Char) → new_lt19(yvy205, yvy207)
new_lt6(yvy40, yvy30, cg) → new_esEs26(new_compare6(yvy40, yvy30, cg))
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primMulInt(Pos(yvy4000), Pos(yvy3000)) → Pos(new_primMulNat0(yvy4000, yvy3000))
new_gt3(yvy40, yvy30) → new_esEs41(new_compare7(yvy40, yvy30))
new_compare31(yvy400, yvy300, ty_Bool) → new_compare12(yvy400, yvy300)
new_esEs6(yvy402, yvy302, app(app(app(ty_@3, eda), edb), edc)) → new_esEs24(yvy402, yvy302, eda, edb, edc)
new_esEs10(yvy400, yvy300, app(app(ty_Either, ceb), cec)) → new_esEs13(yvy400, yvy300, ceb, cec)
new_lt8(yvy193, yvy196, ty_Float) → new_lt17(yvy193, yvy196)
new_esEs4(yvy400, yvy300, app(ty_Ratio, eaf)) → new_esEs14(yvy400, yvy300, eaf)
new_primPlusNat0(Zero, Zero) → Zero
new_ltEs6(LT, LT) → True
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs36(yvy205, yvy207, ty_@0) → new_esEs25(yvy205, yvy207)
new_esEs5(yvy401, yvy301, ty_Double) → new_esEs18(yvy401, yvy301)
new_lt24(yvy40, yvy50, ty_Integer) → new_lt5(yvy40, yvy50)
new_lt8(yvy193, yvy196, ty_Bool) → new_lt14(yvy193, yvy196)
new_lt12(yvy40, yvy30) → new_esEs26(new_compare9(yvy40, yvy30))
new_lt23(yvy1601, yvy1611, ty_Double) → new_lt12(yvy1601, yvy1611)
new_esEs9(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_compare19(Float(yvy400, yvy401), Float(yvy300, yvy301)) → new_compare7(new_sr0(yvy400, yvy300), new_sr0(yvy401, yvy301))
new_ltEs21(yvy160, yvy161, app(app(app(ty_@3, cad), cae), caf)) → new_ltEs5(yvy160, yvy161, cad, cae, caf)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Integer, dg) → new_ltEs14(yvy1600, yvy1610)
new_ltEs24(yvy1602, yvy1612, app(ty_Maybe, ffc)) → new_ltEs13(yvy1602, yvy1612, ffc)
new_compare13(yvy252, yvy253, False, gc) → GT
new_ltEs18(yvy194, yvy197, app(app(app(ty_@3, bbc), bbd), bbe)) → new_ltEs5(yvy194, yvy197, bbc, bbd, bbe)
new_ltEs12(yvy160, yvy161) → new_fsEs(new_compare19(yvy160, yvy161))
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_esEs36(yvy205, yvy207, app(app(ty_@2, ehg), ehh)) → new_esEs22(yvy205, yvy207, ehg, ehh)
new_sr0(yvy400, yvy300) → new_primMulInt(yvy400, yvy300)
new_ltEs22(yvy1601, yvy1611, ty_Integer) → new_ltEs14(yvy1601, yvy1611)
new_compare15(yvy245, yvy246, False, bfd, bfe) → GT
new_gt(yvy81, yvy76, app(app(ty_Either, cca), ccb)) → new_gt2(yvy81, yvy76, cca, ccb)
new_gt(yvy81, yvy76, app(ty_Ratio, cce)) → new_gt5(yvy81, yvy76, cce)
new_esEs36(yvy205, yvy207, app(app(app(ty_@3, ehd), ehe), ehf)) → new_esEs24(yvy205, yvy207, ehd, ehe, ehf)
new_ltEs15(yvy160, yvy161, cbb) → new_fsEs(new_compare5(yvy160, yvy161, cbb))
new_esEs34(yvy4000, yvy3000, ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_@0) → new_esEs25(yvy4000, yvy3000)
new_esEs19(EQ, GT) → False
new_esEs19(GT, EQ) → False
new_lt13(yvy40, yvy30, ca, cb) → new_esEs26(new_compare29(yvy40, yvy30, ca, cb))
new_ltEs13(Just(yvy1600), Just(yvy1610), app(ty_Maybe, gba)) → new_ltEs13(yvy1600, yvy1610, gba)
new_esEs33(yvy4001, yvy3001, app(ty_Maybe, dgd)) → new_esEs12(yvy4001, yvy3001, dgd)
new_esEs35(yvy1600, yvy1610, app(ty_Ratio, efg)) → new_esEs14(yvy1600, yvy1610, efg)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Double) → new_esEs18(yvy4000, yvy3000)
new_esEs27(yvy4000, yvy3000, ty_Double) → new_esEs18(yvy4000, yvy3000)
new_ltEs9(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), cag, cah) → new_pePe(new_lt20(yvy1600, yvy1610, cag), new_asAs(new_esEs35(yvy1600, yvy1610, cag), new_ltEs22(yvy1601, yvy1611, cah)))
new_ltEs13(Just(yvy1600), Nothing, cba) → False
new_esEs27(yvy4000, yvy3000, app(ty_Ratio, daf)) → new_esEs14(yvy4000, yvy3000, daf)
new_lt24(yvy40, yvy50, app(ty_[], cf)) → new_lt4(yvy40, yvy50, cf)
new_esEs28(yvy4001, yvy3001, ty_Bool) → new_esEs20(yvy4001, yvy3001)
new_lt22(yvy1600, yvy1610, ty_Ordering) → new_lt10(yvy1600, yvy1610)
new_lt7(yvy192, yvy195, ty_Integer) → new_lt5(yvy192, yvy195)
new_esEs10(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Char, eae) → new_esEs23(yvy4000, yvy3000)
new_esEs11(yvy400, yvy300, app(app(ty_@2, bef), beg)) → new_esEs22(yvy400, yvy300, bef, beg)
new_esEs8(yvy401, yvy301, ty_Integer) → new_esEs17(yvy401, yvy301)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primMulNat0(Succ(yvy40000), Zero) → Zero
new_esEs35(yvy1600, yvy1610, ty_Bool) → new_esEs20(yvy1600, yvy1610)
new_lt21(yvy205, yvy207, ty_Int) → new_lt11(yvy205, yvy207)
new_esEs33(yvy4001, yvy3001, ty_Ordering) → new_esEs19(yvy4001, yvy3001)
new_esEs31(yvy193, yvy196, ty_Ordering) → new_esEs19(yvy193, yvy196)
new_lt10(yvy40, yvy30) → new_esEs26(new_compare18(yvy40, yvy30))
new_ltEs19(yvy167, yvy168, ty_Char) → new_ltEs16(yvy167, yvy168)
new_esEs4(yvy400, yvy300, app(ty_Maybe, cgf)) → new_esEs12(yvy400, yvy300, cgf)
new_ltEs23(yvy206, yvy208, ty_Char) → new_ltEs16(yvy206, yvy208)
new_esEs32(yvy4000, yvy3000, ty_Double) → new_esEs18(yvy4000, yvy3000)
new_esEs6(yvy402, yvy302, ty_Double) → new_esEs18(yvy402, yvy302)
new_esEs4(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_esEs4(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_compare12(False, False) → EQ
new_compare6(:%(yvy400, yvy401), :%(yvy300, yvy301), ty_Int) → new_compare7(new_sr0(yvy400, yvy301), new_sr0(yvy300, yvy401))
new_lt23(yvy1601, yvy1611, app(app(ty_@2, fde), fdf)) → new_lt13(yvy1601, yvy1611, fde, fdf)
new_esEs8(yvy401, yvy301, ty_Int) → new_esEs16(yvy401, yvy301)
new_ltEs14(yvy160, yvy161) → new_fsEs(new_compare8(yvy160, yvy161))
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Double, eae) → new_esEs18(yvy4000, yvy3000)
new_lt21(yvy205, yvy207, ty_@0) → new_lt15(yvy205, yvy207)
new_compare211(yvy160, yvy161, True, cab, cac) → EQ
new_lt8(yvy193, yvy196, ty_Char) → new_lt19(yvy193, yvy196)
new_esEs41(LT) → False
new_ltEs19(yvy167, yvy168, app(app(app(ty_@3, dhb), dhc), dhd)) → new_ltEs5(yvy167, yvy168, dhb, dhc, dhd)
new_esEs34(yvy4000, yvy3000, ty_Char) → new_esEs23(yvy4000, yvy3000)
new_esEs13(Left(yvy4000), Left(yvy3000), app(ty_[], fga), eae) → new_esEs15(yvy4000, yvy3000, fga)
new_compare16(Right(yvy400), Left(yvy300), cc, cd) → GT
new_esEs11(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_ltEs20(yvy174, yvy175, app(ty_[], bdh)) → new_ltEs15(yvy174, yvy175, bdh)
new_ltEs19(yvy167, yvy168, app(ty_Maybe, eaa)) → new_ltEs13(yvy167, yvy168, eaa)
new_esEs40(yvy1601, yvy1611, app(ty_Maybe, fea)) → new_esEs12(yvy1601, yvy1611, fea)
new_esEs8(yvy401, yvy301, app(ty_Ratio, bhb)) → new_esEs14(yvy401, yvy301, bhb)
new_esEs9(yvy400, yvy300, app(app(app(ty_@3, cdg), cdh), cea)) → new_esEs24(yvy400, yvy300, cdg, cdh, cea)
new_esEs9(yvy400, yvy300, app(ty_Maybe, cdf)) → new_esEs12(yvy400, yvy300, cdf)
new_lt7(yvy192, yvy195, ty_@0) → new_lt15(yvy192, yvy195)
new_gt7(yvy40, yvy30) → new_esEs41(new_compare9(yvy40, yvy30))
new_ltEs20(yvy174, yvy175, ty_Double) → new_ltEs8(yvy174, yvy175)
new_compare26(yvy174, yvy175, False, bcg) → new_compare13(yvy174, yvy175, new_ltEs20(yvy174, yvy175, bcg), bcg)
new_compare18(LT, LT) → EQ
new_esEs36(yvy205, yvy207, ty_Ordering) → new_esEs19(yvy205, yvy207)
new_lt22(yvy1600, yvy1610, ty_Double) → new_lt12(yvy1600, yvy1610)
new_lt23(yvy1601, yvy1611, ty_Integer) → new_lt5(yvy1601, yvy1611)
new_ltEs23(yvy206, yvy208, app(ty_Maybe, fbe)) → new_ltEs13(yvy206, yvy208, fbe)
new_esEs35(yvy1600, yvy1610, app(app(ty_Either, efc), efd)) → new_esEs13(yvy1600, yvy1610, efc, efd)
new_ltEs22(yvy1601, yvy1611, ty_Bool) → new_ltEs10(yvy1601, yvy1611)
new_lt22(yvy1600, yvy1610, ty_Bool) → new_lt14(yvy1600, yvy1610)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, app(app(app(ty_@3, fhg), fhh), gaa)) → new_esEs24(yvy4000, yvy3000, fhg, fhh, gaa)
new_lt7(yvy192, yvy195, ty_Int) → new_lt11(yvy192, yvy195)
new_primMulNat0(Succ(yvy40000), Succ(yvy30000)) → new_primPlusNat0(new_primMulNat0(yvy40000, Succ(yvy30000)), Succ(yvy30000))
new_esEs10(yvy400, yvy300, app(ty_Ratio, ced)) → new_esEs14(yvy400, yvy300, ced)
new_esEs35(yvy1600, yvy1610, ty_@0) → new_esEs25(yvy1600, yvy1610)
new_esEs35(yvy1600, yvy1610, app(ty_[], eff)) → new_esEs15(yvy1600, yvy1610, eff)
new_compare24(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, True, gd, ge, gf) → EQ
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_esEs11(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_lt20(yvy1600, yvy1610, ty_Ordering) → new_lt10(yvy1600, yvy1610)
new_lt7(yvy192, yvy195, ty_Char) → new_lt19(yvy192, yvy195)
new_ltEs21(yvy160, yvy161, ty_Integer) → new_ltEs14(yvy160, yvy161)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Char) → new_esEs23(yvy4000, yvy3000)
new_compare24(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, False, gd, ge, gf) → new_compare10(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, new_lt7(yvy192, yvy195, gd), new_asAs(new_esEs30(yvy192, yvy195, gd), new_pePe(new_lt8(yvy193, yvy196, ge), new_asAs(new_esEs31(yvy193, yvy196, ge), new_ltEs18(yvy194, yvy197, gf)))), gd, ge, gf)
new_lt7(yvy192, yvy195, app(app(ty_Either, hd), he)) → new_lt16(yvy192, yvy195, hd, he)
new_ltEs13(Just(yvy1600), Just(yvy1610), app(ty_Ratio, gbc)) → new_ltEs17(yvy1600, yvy1610, gbc)
new_compare27(@0, @0) → EQ
new_compare30(Char(yvy400), Char(yvy300)) → new_primCmpNat0(yvy400, yvy300)
new_compare31(yvy400, yvy300, ty_Int) → new_compare7(yvy400, yvy300)
new_esEs31(yvy193, yvy196, ty_Float) → new_esEs21(yvy193, yvy196)
new_esEs11(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_esEs31(yvy193, yvy196, ty_Char) → new_esEs23(yvy193, yvy196)
new_esEs28(yvy4001, yvy3001, app(ty_Maybe, dcd)) → new_esEs12(yvy4001, yvy3001, dcd)
new_esEs23(Char(yvy4000), Char(yvy3000)) → new_primEqNat0(yvy4000, yvy3000)
new_esEs31(yvy193, yvy196, app(app(ty_Either, baf), bag)) → new_esEs13(yvy193, yvy196, baf, bag)
new_lt16(yvy40, yvy30, cc, cd) → new_esEs26(new_compare16(yvy40, yvy30, cc, cd))
new_compare18(LT, EQ) → LT
new_ltEs24(yvy1602, yvy1612, app(app(ty_Either, ffa), ffb)) → new_ltEs4(yvy1602, yvy1612, ffa, ffb)
new_esEs36(yvy205, yvy207, ty_Float) → new_esEs21(yvy205, yvy207)
new_esEs31(yvy193, yvy196, ty_Int) → new_esEs16(yvy193, yvy196)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_esEs29(yvy4002, yvy3002, app(ty_Ratio, ddb)) → new_esEs14(yvy4002, yvy3002, ddb)
new_ltEs21(yvy160, yvy161, app(app(ty_@2, cag), cah)) → new_ltEs9(yvy160, yvy161, cag, cah)
new_lt7(yvy192, yvy195, ty_Float) → new_lt17(yvy192, yvy195)
new_primCompAux00(yvy180, GT) → GT
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs39(yvy1600, yvy1610, ty_@0) → new_esEs25(yvy1600, yvy1610)
new_lt8(yvy193, yvy196, app(app(ty_Either, baf), bag)) → new_lt16(yvy193, yvy196, baf, bag)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(app(app(ty_@3, dd), de), df), dg) → new_ltEs5(yvy1600, yvy1610, dd, de, df)
new_esEs39(yvy1600, yvy1610, ty_Double) → new_esEs18(yvy1600, yvy1610)
new_ltEs23(yvy206, yvy208, app(app(app(ty_@3, faf), fag), fah)) → new_ltEs5(yvy206, yvy208, faf, fag, fah)
new_esEs5(yvy401, yvy301, app(ty_Ratio, ebb)) → new_esEs14(yvy401, yvy301, ebb)
new_esEs33(yvy4001, yvy3001, ty_@0) → new_esEs25(yvy4001, yvy3001)
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_lt23(yvy1601, yvy1611, ty_@0) → new_lt15(yvy1601, yvy1611)
new_lt21(yvy205, yvy207, ty_Float) → new_lt17(yvy205, yvy207)
new_lt7(yvy192, yvy195, ty_Ordering) → new_lt10(yvy192, yvy195)
new_esEs34(yvy4000, yvy3000, app(app(ty_Either, edd), ede)) → new_esEs13(yvy4000, yvy3000, edd, ede)
new_ltEs4(Right(yvy1600), Right(yvy1610), eg, app(app(app(ty_@3, eh), fa), fb)) → new_ltEs5(yvy1600, yvy1610, eh, fa, fb)

The set Q consists of the following terms:

new_esEs7(x0, x1, ty_Char)
new_esEs40(x0, x1, ty_Bool)
new_lt20(x0, x1, ty_@0)
new_lt23(x0, x1, ty_@0)
new_lt20(x0, x1, ty_Bool)
new_esEs15([], [], x0)
new_esEs13(Left(x0), Left(x1), ty_Bool, x2)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs32(x0, x1, ty_Char)
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs13(Nothing, Nothing, x0)
new_esEs9(x0, x1, ty_Integer)
new_esEs8(x0, x1, ty_Int)
new_esEs13(Left(x0), Left(x1), ty_Int, x2)
new_lt21(x0, x1, ty_Double)
new_esEs33(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_ltEs20(x0, x1, app(ty_[], x2))
new_ltEs11(x0, x1)
new_gt(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, ty_Ordering)
new_esEs8(x0, x1, ty_Double)
new_esEs39(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(x0, x1, app(ty_Maybe, x2))
new_gt13(x0, x1)
new_esEs33(x0, x1, ty_@0)
new_lt8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Char)
new_lt8(x0, x1, app(app(ty_Either, x2), x3))
new_esEs12(Just(x0), Nothing, x1)
new_ltEs21(x0, x1, ty_Ordering)
new_compare31(x0, x1, ty_@0)
new_esEs4(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Integer)
new_ltEs24(x0, x1, app(ty_[], x2))
new_compare26(x0, x1, True, x2)
new_esEs28(x0, x1, ty_Integer)
new_ltEs18(x0, x1, ty_Ordering)
new_ltEs23(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_@0)
new_esEs12(Just(x0), Just(x1), ty_Bool)
new_ltEs15(x0, x1, x2)
new_esEs35(x0, x1, ty_Float)
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs36(x0, x1, ty_@0)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(ty_[], x2))
new_lt22(x0, x1, ty_Bool)
new_esEs33(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, ty_Char)
new_compare13(x0, x1, True, x2)
new_esEs35(x0, x1, ty_Int)
new_ltEs6(EQ, EQ)
new_primCompAux00(x0, EQ)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs5(x0, x1, app(ty_[], x2))
new_esEs40(x0, x1, ty_@0)
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs17(x0, x1, x2)
new_esEs8(x0, x1, ty_Bool)
new_lt7(x0, x1, app(ty_Ratio, x2))
new_ltEs6(LT, EQ)
new_ltEs6(EQ, LT)
new_esEs11(x0, x1, ty_Ordering)
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, ty_Float)
new_lt23(x0, x1, ty_Integer)
new_primEqNat0(Zero, Zero)
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs39(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs4(x0, x1, app(ty_[], x2))
new_ltEs22(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_Float)
new_ltEs23(x0, x1, ty_Int)
new_gt8(x0, x1, x2, x3)
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs33(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(x0, x1, ty_Integer)
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_Double)
new_esEs33(x0, x1, ty_Ordering)
new_primMulNat0(Zero, Zero)
new_lt8(x0, x1, app(ty_Maybe, x2))
new_compare24(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs13(Right(x0), Right(x1), x2, ty_Int)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_compare18(LT, LT)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_esEs35(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_lt8(x0, x1, ty_Char)
new_primMulNat0(Succ(x0), Succ(x1))
new_lt24(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Float)
new_esEs35(x0, x1, ty_Ordering)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs13(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs30(x0, x1, ty_Float)
new_ltEs24(x0, x1, app(ty_Maybe, x2))
new_ltEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(LT, LT)
new_esEs20(True, True)
new_primEqNat0(Zero, Succ(x0))
new_esEs13(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs13(Right(x0), Right(x1), x2, ty_Double)
new_lt22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs12(Just(x0), Just(x1), ty_Char)
new_esEs9(x0, x1, ty_@0)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_esEs35(x0, x1, ty_Integer)
new_esEs9(x0, x1, app(ty_[], x2))
new_lt22(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_lt8(x0, x1, app(ty_Ratio, x2))
new_compare10(x0, x1, x2, x3, x4, x5, False, x6, x7, x8, x9)
new_lt18(x0, x1, x2)
new_ltEs13(Just(x0), Just(x1), ty_Float)
new_compare13(x0, x1, False, x2)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, ty_Bool)
new_esEs7(x0, x1, ty_Int)
new_ltEs7(x0, x1)
new_esEs13(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs33(x0, x1, app(ty_Ratio, x2))
new_gt(x0, x1, app(ty_Maybe, x2))
new_esEs12(Just(x0), Just(x1), app(ty_[], x2))
new_lt24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primMulNat0(Succ(x0), Zero)
new_ltEs22(x0, x1, ty_Int)
new_ltEs22(x0, x1, ty_Bool)
new_lt24(x0, x1, ty_Char)
new_esEs37(x0, x1, ty_Integer)
new_esEs34(x0, x1, app(ty_Ratio, x2))
new_gt5(x0, x1, x2)
new_esEs13(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs20(False, False)
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs38(x0, x1, ty_Integer)
new_compare12(False, False)
new_compare18(GT, GT)
new_esEs40(x0, x1, ty_Ordering)
new_lt8(x0, x1, ty_Integer)
new_esEs39(x0, x1, ty_Double)
new_compare111(x0, x1, x2, x3, False, x4, x5)
new_esEs32(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Char)
new_lt23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(False, False)
new_lt21(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_esEs36(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs13(Right(x0), Right(x1), x2, ty_Integer)
new_lt23(x0, x1, app(ty_Maybe, x2))
new_ltEs13(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt20(x0, x1, ty_Int)
new_ltEs21(x0, x1, ty_Bool)
new_lt21(x0, x1, ty_Char)
new_esEs12(Just(x0), Just(x1), ty_Integer)
new_esEs7(x0, x1, ty_Float)
new_esEs34(x0, x1, ty_@0)
new_lt24(x0, x1, ty_Bool)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare110(x0, x1, x2, x3, False, x4, x5, x6)
new_compare31(x0, x1, ty_Bool)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs6(x0, x1, app(ty_[], x2))
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs39(x0, x1, ty_@0)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, ty_Int)
new_gt11(x0, x1, x2)
new_esEs40(x0, x1, app(ty_[], x2))
new_compare5([], [], x0)
new_esEs40(x0, x1, ty_Integer)
new_lt16(x0, x1, x2, x3)
new_lt20(x0, x1, ty_Double)
new_esEs32(x0, x1, ty_Int)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs35(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Int)
new_ltEs24(x0, x1, ty_Double)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, ty_Bool)
new_esEs8(x0, x1, ty_Ordering)
new_esEs32(x0, x1, ty_@0)
new_ltEs18(x0, x1, ty_Bool)
new_esEs6(x0, x1, ty_Float)
new_ltEs5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs8(x0, x1, ty_Char)
new_esEs22(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt5(x0, x1)
new_sr0(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_ltEs13(Just(x0), Just(x1), ty_Bool)
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_esEs33(x0, x1, ty_Int)
new_esEs6(x0, x1, ty_Double)
new_esEs32(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Neg(Zero))
new_lt21(x0, x1, ty_@0)
new_gt(x0, x1, ty_Float)
new_gt1(x0, x1, x2, x3, x4)
new_esEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primCmpNat0(Zero, Succ(x0))
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_lt8(x0, x1, ty_@0)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(x0, x1, ty_Float)
new_esEs35(x0, x1, app(ty_Maybe, x2))
new_lt7(x0, x1, app(ty_[], x2))
new_lt8(x0, x1, ty_Ordering)
new_esEs30(x0, x1, app(ty_[], x2))
new_lt7(x0, x1, ty_@0)
new_lt6(x0, x1, x2)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs24(x0, x1, ty_Float)
new_compare30(Char(x0), Char(x1))
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_esEs6(x0, x1, ty_@0)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt10(x0, x1)
new_compare5([], :(x0, x1), x2)
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs30(x0, x1, ty_Integer)
new_esEs4(x0, x1, ty_Bool)
new_compare24(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_compare9(Double(x0, x1), Double(x2, x3))
new_esEs34(x0, x1, ty_Char)
new_compare14(x0, x1, False, x2, x3)
new_esEs28(x0, x1, ty_Float)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_esEs26(LT)
new_ltEs21(x0, x1, ty_Int)
new_esEs8(x0, x1, ty_@0)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs33(x0, x1, ty_Char)
new_ltEs6(LT, LT)
new_lt23(x0, x1, ty_Double)
new_esEs39(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_compare31(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Integer)
new_compare31(x0, x1, app(ty_Maybe, x2))
new_ltEs13(Just(x0), Just(x1), ty_Integer)
new_esEs8(x0, x1, ty_Integer)
new_ltEs10(True, True)
new_esEs30(x0, x1, ty_@0)
new_esEs31(x0, x1, ty_Double)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt23(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, ty_Ordering)
new_esEs19(GT, GT)
new_ltEs22(x0, x1, app(ty_[], x2))
new_ltEs9(@2(x0, x1), @2(x2, x3), x4, x5)
new_compare14(x0, x1, True, x2, x3)
new_ltEs13(Just(x0), Just(x1), ty_@0)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs31(x0, x1, ty_Char)
new_esEs13(Right(x0), Right(x1), x2, ty_@0)
new_lt20(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Double)
new_esEs7(x0, x1, ty_Double)
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Float)
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_sr(Integer(x0), Integer(x1))
new_ltEs23(x0, x1, ty_Bool)
new_ltEs19(x0, x1, app(ty_[], x2))
new_lt24(x0, x1, ty_Int)
new_esEs19(EQ, LT)
new_esEs19(LT, EQ)
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_lt22(x0, x1, ty_Float)
new_not(True)
new_lt24(x0, x1, ty_Float)
new_esEs13(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs9(x0, x1, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_not(False)
new_lt22(x0, x1, ty_Ordering)
new_esEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs12(Just(x0), Just(x1), ty_Double)
new_ltEs6(GT, EQ)
new_ltEs6(EQ, GT)
new_esEs28(x0, x1, ty_Ordering)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs13(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs20(x0, x1, ty_Bool)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_lt15(x0, x1)
new_esEs34(x0, x1, app(ty_Maybe, x2))
new_asAs(False, x0)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_lt22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare28(Nothing, Just(x0), x1)
new_esEs34(x0, x1, ty_Bool)
new_lt4(x0, x1, x2)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, ty_Bool)
new_esEs34(x0, x1, ty_Float)
new_esEs28(x0, x1, ty_Int)
new_esEs13(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs27(x0, x1, ty_Char)
new_esEs39(x0, x1, ty_Integer)
new_ltEs10(True, False)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs10(False, True)
new_esEs25(@0, @0)
new_esEs28(x0, x1, ty_Bool)
new_compare27(@0, @0)
new_gt(x0, x1, app(app(ty_@2, x2), x3))
new_esEs39(x0, x1, ty_Char)
new_lt24(x0, x1, app(app(ty_Either, x2), x3))
new_gt(x0, x1, ty_Integer)
new_lt24(x0, x1, ty_Double)
new_esEs13(Left(x0), Left(x1), ty_Double, x2)
new_ltEs24(x0, x1, ty_Integer)
new_lt8(x0, x1, ty_Int)
new_compare12(True, True)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs5(x0, x1, ty_Bool)
new_esEs12(Just(x0), Just(x1), ty_Int)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs33(x0, x1, ty_Bool)
new_esEs13(Left(x0), Left(x1), ty_@0, x2)
new_esEs34(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(Just(x0), Just(x1), ty_Float)
new_lt21(x0, x1, ty_Bool)
new_esEs15(:(x0, x1), :(x2, x3), x4)
new_esEs36(x0, x1, ty_Char)
new_ltEs19(x0, x1, ty_@0)
new_esEs33(x0, x1, ty_Double)
new_ltEs23(x0, x1, app(app(ty_@2, x2), x3))
new_compare28(Just(x0), Just(x1), x2)
new_esEs11(x0, x1, ty_Int)
new_esEs29(x0, x1, ty_Float)
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs39(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs33(x0, x1, ty_Float)
new_esEs4(x0, x1, ty_Int)
new_esEs13(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_lt23(x0, x1, ty_Bool)
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs23(x0, x1, ty_@0)
new_esEs13(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_compare111(x0, x1, x2, x3, True, x4, x5)
new_esEs36(x0, x1, ty_Float)
new_gt6(x0, x1)
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, ty_Bool)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare7(x0, x1)
new_compare6(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs36(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Double)
new_compare210(x0, x1, x2, x3, True, x4, x5)
new_lt23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs35(x0, x1, ty_Bool)
new_lt21(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs8(x0, x1)
new_compare12(True, False)
new_compare12(False, True)
new_primPlusNat0(Succ(x0), Succ(x1))
new_compare211(x0, x1, False, x2, x3)
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt22(x0, x1, ty_Char)
new_lt14(x0, x1)
new_ltEs19(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Char)
new_pePe(False, x0)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_Ratio, x2))
new_lt23(x0, x1, ty_Ordering)
new_esEs36(x0, x1, ty_Ordering)
new_lt7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(x0, x1, ty_Char)
new_esEs12(Nothing, Nothing, x0)
new_esEs10(x0, x1, ty_Ordering)
new_compare31(x0, x1, ty_Ordering)
new_esEs39(x0, x1, ty_Float)
new_esEs40(x0, x1, ty_Double)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs10(x0, x1, ty_Char)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs40(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs13(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_compare25(x0, x1, False, x2, x3)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs39(x0, x1, ty_Bool)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_Ordering)
new_lt7(x0, x1, ty_Int)
new_lt7(x0, x1, app(ty_Maybe, x2))
new_esEs4(x0, x1, ty_Integer)
new_ltEs22(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, ty_@0)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs13(Left(x0), Left(x1), ty_Char, x2)
new_ltEs22(x0, x1, ty_Char)
new_lt24(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_Bool)
new_esEs33(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(x0, x1, ty_Ordering)
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_lt7(x0, x1, ty_Ordering)
new_lt12(x0, x1)
new_gt4(x0, x1)
new_esEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_primCompAux00(x0, LT)
new_compare10(x0, x1, x2, x3, x4, x5, True, x6, x7, x8, x9)
new_compare31(x0, x1, ty_Float)
new_ltEs24(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, ty_Integer)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_primMulInt(Pos(x0), Pos(x1))
new_compare17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_compare5(:(x0, x1), :(x2, x3), x4)
new_esEs26(EQ)
new_esEs21(Float(x0, x1), Float(x2, x3))
new_ltEs18(x0, x1, ty_Integer)
new_esEs31(x0, x1, app(ty_[], x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_esEs31(x0, x1, ty_Ordering)
new_esEs5(x0, x1, app(app(ty_@2, x2), x3))
new_lt23(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, ty_Double)
new_lt21(x0, x1, app(ty_Maybe, x2))
new_ltEs13(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_@0)
new_ltEs18(x0, x1, ty_Float)
new_lt22(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Bool)
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_lt8(x0, x1, ty_Double)
new_ltEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_gt(x0, x1, ty_Int)
new_esEs29(x0, x1, ty_Char)
new_esEs36(x0, x1, app(ty_Maybe, x2))
new_lt24(x0, x1, app(ty_Maybe, x2))
new_lt21(x0, x1, ty_Float)
new_esEs26(GT)
new_esEs29(x0, x1, ty_@0)
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs20(x0, x1, ty_Int)
new_esEs5(x0, x1, ty_Double)
new_primPlusNat0(Succ(x0), Zero)
new_ltEs12(x0, x1)
new_compare29(@2(x0, x1), @2(x2, x3), x4, x5)
new_compare110(x0, x1, x2, x3, True, x4, x5, x6)
new_compare18(LT, EQ)
new_compare18(EQ, LT)
new_esEs34(x0, x1, ty_Int)
new_esEs13(Right(x0), Right(x1), x2, ty_Char)
new_ltEs18(x0, x1, ty_Int)
new_esEs30(x0, x1, ty_Bool)
new_lt23(x0, x1, ty_Int)
new_lt13(x0, x1, x2, x3)
new_esEs6(x0, x1, ty_Ordering)
new_lt7(x0, x1, ty_Char)
new_ltEs13(Nothing, Just(x0), x1)
new_esEs19(GT, EQ)
new_esEs19(EQ, GT)
new_esEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare211(x0, x1, True, x2, x3)
new_esEs13(Left(x0), Left(x1), ty_Integer, x2)
new_esEs35(x0, x1, app(ty_Ratio, x2))
new_esEs6(x0, x1, ty_Bool)
new_esEs32(x0, x1, ty_Ordering)
new_primPlusNat0(Zero, Succ(x0))
new_lt7(x0, x1, ty_Double)
new_ltEs24(x0, x1, ty_Int)
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, ty_Float)
new_gt(x0, x1, ty_@0)
new_lt22(x0, x1, ty_Double)
new_esEs5(x0, x1, ty_@0)
new_lt20(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs41(GT)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, app(ty_[], x2))
new_gt2(x0, x1, x2, x3)
new_esEs8(x0, x1, ty_Float)
new_esEs13(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs23(x0, x1, app(ty_[], x2))
new_lt7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs32(x0, x1, app(ty_[], x2))
new_esEs16(x0, x1)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, ty_Int)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_compare18(GT, LT)
new_compare18(LT, GT)
new_lt24(x0, x1, ty_@0)
new_esEs36(x0, x1, ty_Int)
new_gt(x0, x1, ty_Bool)
new_esEs20(False, True)
new_esEs20(True, False)
new_lt24(x0, x1, app(ty_[], x2))
new_ltEs24(x0, x1, ty_Bool)
new_esEs15(:(x0, x1), [], x2)
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs28(x0, x1, ty_Char)
new_esEs34(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs33(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs39(x0, x1, app(ty_Ratio, x2))
new_gt(x0, x1, app(ty_[], x2))
new_esEs18(Double(x0, x1), Double(x2, x3))
new_esEs9(x0, x1, ty_Ordering)
new_compare11(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_esEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs11(x0, x1, ty_@0)
new_esEs39(x0, x1, ty_Ordering)
new_primPlusNat0(Zero, Zero)
new_pePe(True, x0)
new_ltEs22(x0, x1, ty_Float)
new_esEs29(x0, x1, ty_Integer)
new_esEs36(x0, x1, app(ty_[], x2))
new_esEs31(x0, x1, ty_Bool)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs5(x0, x1, ty_Int)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs36(x0, x1, ty_Integer)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs29(x0, x1, ty_Int)
new_lt20(x0, x1, ty_Char)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_compare19(Float(x0, x1), Float(x2, x3))
new_esEs34(x0, x1, ty_Integer)
new_ltEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1, ty_Bool)
new_esEs34(x0, x1, app(ty_[], x2))
new_esEs31(x0, x1, ty_Float)
new_gt(x0, x1, ty_Ordering)
new_compare15(x0, x1, False, x2, x3)
new_esEs41(EQ)
new_esEs35(x0, x1, ty_Char)
new_esEs11(x0, x1, ty_Integer)
new_ltEs22(x0, x1, ty_@0)
new_esEs36(x0, x1, ty_Bool)
new_esEs34(x0, x1, ty_Double)
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_ltEs21(x0, x1, ty_Double)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_lt23(x0, x1, ty_Float)
new_esEs4(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(Just(x0), Just(x1), ty_@0)
new_esEs12(Nothing, Just(x0), x1)
new_compare31(x0, x1, ty_Double)
new_esEs27(x0, x1, ty_Ordering)
new_esEs35(x0, x1, ty_@0)
new_ltEs18(x0, x1, ty_@0)
new_esEs40(x0, x1, ty_Float)
new_lt22(x0, x1, ty_Integer)
new_esEs39(x0, x1, ty_Int)
new_esEs11(x0, x1, ty_Double)
new_esEs24(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs4(x0, x1, ty_Float)
new_esEs34(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_compare31(x0, x1, app(ty_Ratio, x2))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_esEs32(x0, x1, ty_Double)
new_compare210(x0, x1, x2, x3, False, x4, x5)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs33(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs22(x0, x1, ty_Integer)
new_ltEs22(x0, x1, ty_Ordering)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs21(x0, x1, app(ty_[], x2))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs40(x0, x1, app(ty_Ratio, x2))
new_esEs4(x0, x1, ty_@0)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs23(x0, x1, app(ty_Ratio, x2))
new_lt22(x0, x1, app(ty_[], x2))
new_lt8(x0, x1, app(ty_[], x2))
new_compare28(Just(x0), Nothing, x1)
new_esEs40(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs23(x0, x1, app(ty_Maybe, x2))
new_esEs13(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_compare15(x0, x1, True, x2, x3)
new_lt21(x0, x1, app(ty_[], x2))
new_compare28(Nothing, Nothing, x0)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, ty_Float)
new_primMulNat0(Zero, Succ(x0))
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_ltEs23(x0, x1, ty_Float)
new_lt17(x0, x1)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_gt10(x0, x1)
new_lt7(x0, x1, ty_Float)
new_lt22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_compare11(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_esEs32(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), ty_Int)
new_esEs29(x0, x1, app(ty_[], x2))
new_esEs40(x0, x1, app(app(ty_@2, x2), x3))
new_gt(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, ty_Double)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_Char)
new_esEs7(x0, x1, ty_Bool)
new_esEs40(x0, x1, ty_Char)
new_ltEs6(GT, GT)
new_esEs34(x0, x1, ty_Ordering)
new_esEs4(x0, x1, ty_Char)
new_gt3(x0, x1)
new_ltEs23(x0, x1, ty_Integer)
new_lt8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(Char(x0), Char(x1))
new_lt24(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, ty_@0)
new_primCmpNat0(Succ(x0), Zero)
new_esEs40(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Char)
new_primCmpNat0(Zero, Zero)
new_ltEs24(x0, x1, app(ty_Ratio, x2))
new_lt7(x0, x1, app(app(ty_@2, x2), x3))
new_esEs36(x0, x1, app(app(ty_@2, x2), x3))
new_compare16(Left(x0), Right(x1), x2, x3)
new_compare16(Right(x0), Left(x1), x2, x3)
new_gt7(x0, x1)
new_lt8(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Float)
new_ltEs22(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs13(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_ltEs13(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs35(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), ty_Char)
new_esEs13(Right(x0), Right(x1), x2, ty_Bool)
new_esEs11(x0, x1, app(ty_[], x2))
new_gt12(x0, x1)
new_esEs35(x0, x1, ty_Double)
new_esEs37(x0, x1, ty_Int)
new_esEs31(x0, x1, ty_Integer)
new_compare25(x0, x1, True, x2, x3)
new_gt0(x0, x1, x2)
new_esEs38(x0, x1, ty_Int)
new_lt23(x0, x1, ty_Char)
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs18(x0, x1, app(ty_[], x2))
new_primCompAux0(x0, x1, x2, x3)
new_ltEs22(x0, x1, ty_Double)
new_esEs19(EQ, EQ)
new_ltEs22(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs21(x0, x1, ty_@0)
new_esEs13(Right(x0), Right(x1), x2, ty_Float)
new_compare16(Left(x0), Left(x1), x2, x3)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs41(LT)
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs17(Integer(x0), Integer(x1))
new_compare18(EQ, GT)
new_compare18(GT, EQ)
new_gt(x0, x1, ty_Double)
new_ltEs14(x0, x1)
new_esEs36(x0, x1, app(app(ty_Either, x2), x3))
new_compare31(x0, x1, ty_Int)
new_esEs13(Left(x0), Left(x1), ty_Float, x2)
new_lt20(x0, x1, ty_Float)
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_ltEs24(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_@0)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs40(x0, x1, ty_Int)
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs13(Just(x0), Nothing, x1)
new_esEs19(GT, LT)
new_esEs19(LT, GT)
new_ltEs24(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs24(x0, x1, ty_@0)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs13(Just(x0), Just(x1), ty_Ordering)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_gt(x0, x1, ty_Char)
new_ltEs16(x0, x1)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Succ(x0), Zero)
new_lt8(x0, x1, ty_Float)
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_ltEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs35(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs14(:%(x0, x1), :%(x2, x3), x4)
new_ltEs13(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs7(x0, x1, ty_Ordering)
new_lt21(x0, x1, ty_Int)
new_esEs13(Right(x0), Left(x1), x2, x3)
new_esEs13(Left(x0), Right(x1), x2, x3)
new_esEs30(x0, x1, ty_Char)
new_esEs8(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, ty_Double)
new_lt22(x0, x1, ty_Int)
new_esEs15([], :(x0, x1), x2)
new_esEs5(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, ty_Char)
new_lt22(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_Int)
new_esEs29(x0, x1, ty_Double)
new_lt11(x0, x1)
new_ltEs23(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs31(x0, x1, ty_Int)
new_compare26(x0, x1, False, x2)
new_ltEs19(x0, x1, ty_Int)
new_esEs6(x0, x1, ty_Char)
new_lt23(x0, x1, app(app(ty_@2, x2), x3))
new_compare18(EQ, EQ)
new_esEs36(x0, x1, ty_Double)
new_esEs13(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs10(x0, x1, ty_Double)
new_compare5(:(x0, x1), [], x2)
new_esEs6(x0, x1, ty_Int)
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_primCompAux00(x0, GT)
new_esEs10(x0, x1, ty_Integer)
new_esEs5(x0, x1, ty_Integer)
new_compare16(Right(x0), Right(x1), x2, x3)
new_lt19(x0, x1)
new_compare8(Integer(x0), Integer(x1))
new_ltEs13(Just(x0), Just(x1), app(ty_[], x2))
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_lt9(x0, x1, x2, x3, x4)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_gt9(x0, x1)
new_gt(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_asAs(True, x0)
new_lt24(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs23(x0, x1, ty_Double)
new_esEs39(x0, x1, app(ty_Maybe, x2))
new_ltEs13(Just(x0), Just(x1), ty_Double)
new_lt21(x0, x1, ty_Integer)
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_fsEs(x0)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_lt11(new_sr1(new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_lt11(new_sr1(new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), h, ba)

The TRS R consists of the following rules:

new_primMulNat0(Zero, Zero) → Zero
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_esEs26(GT) → False
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)
new_esEs26(EQ) → False
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_lt11(yvy40, yvy30) → new_esEs26(new_compare7(yvy40, yvy30))
new_primMulNat0(Succ(yvy40000), Zero) → Zero
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primMulNat1(Zero) → Zero
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primMulNat0(Succ(yvy40000), Succ(yvy30000)) → new_primPlusNat0(new_primMulNat0(yvy40000, Succ(yvy30000)), Succ(yvy30000))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)
new_esEs26(LT) → True
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primPlusNat0(Zero, Zero) → Zero
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_compare7(yvy40, yvy30) → new_primCmpInt(yvy40, yvy30)
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_lt11(x0, x1)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_compare7(x0, x1)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
QDP
                                        ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_lt11(new_sr1(new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_lt11(new_sr1(new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), h, ba)

The TRS R consists of the following rules:

new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)
new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)
new_lt11(yvy40, yvy30) → new_esEs26(new_compare7(yvy40, yvy30))
new_compare7(yvy40, yvy30) → new_primCmpInt(yvy40, yvy30)
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_lt11(x0, x1)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_compare7(x0, x1)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_lt11(new_sr1(new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), h, ba) at position [12] we obtained the following new rules:

new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_compare7(new_sr1(new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
QDP
                                            ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_lt11(new_sr1(new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_compare7(new_sr1(new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)

The TRS R consists of the following rules:

new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)
new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)
new_lt11(yvy40, yvy30) → new_esEs26(new_compare7(yvy40, yvy30))
new_compare7(yvy40, yvy30) → new_primCmpInt(yvy40, yvy30)
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_lt11(x0, x1)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_compare7(x0, x1)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_lt11(new_sr1(new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), h, ba) at position [12] we obtained the following new rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_compare7(new_sr1(new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Rewriting
QDP
                                                ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_compare7(new_sr1(new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_compare7(new_sr1(new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)

The TRS R consists of the following rules:

new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)
new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)
new_lt11(yvy40, yvy30) → new_esEs26(new_compare7(yvy40, yvy30))
new_compare7(yvy40, yvy30) → new_primCmpInt(yvy40, yvy30)
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_lt11(x0, x1)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_compare7(x0, x1)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Rewriting
                                              ↳ QDP
                                                ↳ UsableRulesProof
QDP
                                                    ↳ QReductionProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_compare7(new_sr1(new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_compare7(new_sr1(new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)

The TRS R consists of the following rules:

new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)
new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)
new_compare7(yvy40, yvy30) → new_primCmpInt(yvy40, yvy30)
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_lt11(x0, x1)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_compare7(x0, x1)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_lt11(x0, x1)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Rewriting
                                              ↳ QDP
                                                ↳ UsableRulesProof
                                                  ↳ QDP
                                                    ↳ QReductionProof
QDP
                                                        ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_compare7(new_sr1(new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_compare7(new_sr1(new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)

The TRS R consists of the following rules:

new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)
new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)
new_compare7(yvy40, yvy30) → new_primCmpInt(yvy40, yvy30)
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_compare7(x0, x1)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_compare7(new_sr1(new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba) at position [12,0] we obtained the following new rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Rewriting
                                              ↳ QDP
                                                ↳ UsableRulesProof
                                                  ↳ QDP
                                                    ↳ QReductionProof
                                                      ↳ QDP
                                                        ↳ Rewriting
QDP
                                                            ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_compare7(new_sr1(new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)

The TRS R consists of the following rules:

new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)
new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)
new_compare7(yvy40, yvy30) → new_primCmpInt(yvy40, yvy30)
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_compare7(x0, x1)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_compare7(new_sr1(new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba) at position [12,0] we obtained the following new rules:

new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Rewriting
                                              ↳ QDP
                                                ↳ UsableRulesProof
                                                  ↳ QDP
                                                    ↳ QReductionProof
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ Rewriting
QDP
                                                                ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)

The TRS R consists of the following rules:

new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)
new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)
new_compare7(yvy40, yvy30) → new_primCmpInt(yvy40, yvy30)
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_compare7(x0, x1)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Rewriting
                                              ↳ QDP
                                                ↳ UsableRulesProof
                                                  ↳ QDP
                                                    ↳ QReductionProof
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ Rewriting
                                                              ↳ QDP
                                                                ↳ UsableRulesProof
QDP
                                                                    ↳ QReductionProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)

The TRS R consists of the following rules:

new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)
new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_compare7(x0, x1)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_compare7(x0, x1)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Rewriting
                                              ↳ QDP
                                                ↳ UsableRulesProof
                                                  ↳ QDP
                                                    ↳ QReductionProof
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ Rewriting
                                                              ↳ QDP
                                                                ↳ UsableRulesProof
                                                                  ↳ QDP
                                                                    ↳ QReductionProof
QDP
                                                                        ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)

The TRS R consists of the following rules:

new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)
new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba) at position [12,0,0,0] we obtained the following new rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Rewriting
                                              ↳ QDP
                                                ↳ UsableRulesProof
                                                  ↳ QDP
                                                    ↳ QReductionProof
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ Rewriting
                                                              ↳ QDP
                                                                ↳ UsableRulesProof
                                                                  ↳ QDP
                                                                    ↳ QReductionProof
                                                                      ↳ QDP
                                                                        ↳ Rewriting
QDP
                                                                            ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)

The TRS R consists of the following rules:

new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)
new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba) at position [12,0,0,0] we obtained the following new rules:

new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Rewriting
                                              ↳ QDP
                                                ↳ UsableRulesProof
                                                  ↳ QDP
                                                    ↳ QReductionProof
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ Rewriting
                                                              ↳ QDP
                                                                ↳ UsableRulesProof
                                                                  ↳ QDP
                                                                    ↳ QReductionProof
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ Rewriting
QDP
                                                                                ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)

The TRS R consists of the following rules:

new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)
new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba) at position [12,0,0,0] we obtained the following new rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy52), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Rewriting
                                              ↳ QDP
                                                ↳ UsableRulesProof
                                                  ↳ QDP
                                                    ↳ QReductionProof
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ Rewriting
                                                              ↳ QDP
                                                                ↳ UsableRulesProof
                                                                  ↳ QDP
                                                                    ↳ QReductionProof
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ Rewriting
                                                                              ↳ QDP
                                                                                ↳ Rewriting
QDP
                                                                                    ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy52), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)

The TRS R consists of the following rules:

new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)
new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba) at position [12,0,0,0] we obtained the following new rules:

new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy62), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Rewriting
                                              ↳ QDP
                                                ↳ UsableRulesProof
                                                  ↳ QDP
                                                    ↳ QReductionProof
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ Rewriting
                                                              ↳ QDP
                                                                ↳ UsableRulesProof
                                                                  ↳ QDP
                                                                    ↳ QReductionProof
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ Rewriting
                                                                              ↳ QDP
                                                                                ↳ Rewriting
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
QDP
                                                                                        ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy62), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy52), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)

The TRS R consists of the following rules:

new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)
new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy52), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba) at position [12,0,1] we obtained the following new rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy52), new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Rewriting
                                              ↳ QDP
                                                ↳ UsableRulesProof
                                                  ↳ QDP
                                                    ↳ QReductionProof
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ Rewriting
                                                              ↳ QDP
                                                                ↳ UsableRulesProof
                                                                  ↳ QDP
                                                                    ↳ QReductionProof
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ Rewriting
                                                                              ↳ QDP
                                                                                ↳ Rewriting
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
QDP
                                                                                            ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy52), new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy62), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)

The TRS R consists of the following rules:

new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)
new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Rewriting
                                              ↳ QDP
                                                ↳ UsableRulesProof
                                                  ↳ QDP
                                                    ↳ QReductionProof
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ Rewriting
                                                              ↳ QDP
                                                                ↳ UsableRulesProof
                                                                  ↳ QDP
                                                                    ↳ QReductionProof
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ Rewriting
                                                                              ↳ QDP
                                                                                ↳ Rewriting
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
QDP
                                                                                                ↳ QReductionProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy52), new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy62), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)

The TRS R consists of the following rules:

new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)
new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Rewriting
                                              ↳ QDP
                                                ↳ UsableRulesProof
                                                  ↳ QDP
                                                    ↳ QReductionProof
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ Rewriting
                                                              ↳ QDP
                                                                ↳ UsableRulesProof
                                                                  ↳ QDP
                                                                    ↳ QReductionProof
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ Rewriting
                                                                              ↳ QDP
                                                                                ↳ Rewriting
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
QDP
                                                                                                    ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy52), new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy62), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)

The TRS R consists of the following rules:

new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)
new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy52), new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba) at position [12,0,1] we obtained the following new rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy52), yvy62)), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Rewriting
                                              ↳ QDP
                                                ↳ UsableRulesProof
                                                  ↳ QDP
                                                    ↳ QReductionProof
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ Rewriting
                                                              ↳ QDP
                                                                ↳ UsableRulesProof
                                                                  ↳ QDP
                                                                    ↳ QReductionProof
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ Rewriting
                                                                              ↳ QDP
                                                                                ↳ Rewriting
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
QDP
                                                                                                        ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy62), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy52), yvy62)), h, ba)

The TRS R consists of the following rules:

new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)
new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy62), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba))), h, ba) at position [12,0,1] we obtained the following new rules:

new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy62), new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Rewriting
                                              ↳ QDP
                                                ↳ UsableRulesProof
                                                  ↳ QDP
                                                    ↳ QReductionProof
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ Rewriting
                                                              ↳ QDP
                                                                ↳ UsableRulesProof
                                                                  ↳ QDP
                                                                    ↳ QReductionProof
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ Rewriting
                                                                              ↳ QDP
                                                                                ↳ Rewriting
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
QDP
                                                                                                            ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy62), new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy52), yvy62)), h, ba)

The TRS R consists of the following rules:

new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)
new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Rewriting
                                              ↳ QDP
                                                ↳ UsableRulesProof
                                                  ↳ QDP
                                                    ↳ QReductionProof
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ Rewriting
                                                              ↳ QDP
                                                                ↳ UsableRulesProof
                                                                  ↳ QDP
                                                                    ↳ QReductionProof
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ Rewriting
                                                                              ↳ QDP
                                                                                ↳ Rewriting
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ UsableRulesProof
QDP
                                                                                                                ↳ QReductionProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy62), new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy52), yvy62)), h, ba)

The TRS R consists of the following rules:

new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Rewriting
                                              ↳ QDP
                                                ↳ UsableRulesProof
                                                  ↳ QDP
                                                    ↳ QReductionProof
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ Rewriting
                                                              ↳ QDP
                                                                ↳ UsableRulesProof
                                                                  ↳ QDP
                                                                    ↳ QReductionProof
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ Rewriting
                                                                              ↳ QDP
                                                                                ↳ Rewriting
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ UsableRulesProof
                                                                                                              ↳ QDP
                                                                                                                ↳ QReductionProof
QDP
                                                                                                                    ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy52), yvy62)), h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy62), new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba))), h, ba)

The TRS R consists of the following rules:

new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy62), new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba))), h, ba) at position [12,0,1] we obtained the following new rules:

new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy62), yvy52)), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Rewriting
                                              ↳ QDP
                                                ↳ UsableRulesProof
                                                  ↳ QDP
                                                    ↳ QReductionProof
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ Rewriting
                                                              ↳ QDP
                                                                ↳ UsableRulesProof
                                                                  ↳ QDP
                                                                    ↳ QReductionProof
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ Rewriting
                                                                              ↳ QDP
                                                                                ↳ Rewriting
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ UsableRulesProof
                                                                                                              ↳ QDP
                                                                                                                ↳ QReductionProof
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
QDP
                                                                                                                        ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy62), yvy52)), h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy52), yvy62)), h, ba)

The TRS R consists of the following rules:

new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Rewriting
                                              ↳ QDP
                                                ↳ UsableRulesProof
                                                  ↳ QDP
                                                    ↳ QReductionProof
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ Rewriting
                                                              ↳ QDP
                                                                ↳ UsableRulesProof
                                                                  ↳ QDP
                                                                    ↳ QReductionProof
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ Rewriting
                                                                              ↳ QDP
                                                                                ↳ Rewriting
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ UsableRulesProof
                                                                                                              ↳ QDP
                                                                                                                ↳ QReductionProof
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
QDP
                                                                                                                            ↳ QReductionProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy62), yvy52)), h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy52), yvy62)), h, ba)

The TRS R consists of the following rules:

new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_sizeFM(x0, x1, x2, x3, x4, x5, x6)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Rewriting
                                              ↳ QDP
                                                ↳ UsableRulesProof
                                                  ↳ QDP
                                                    ↳ QReductionProof
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ Rewriting
                                                              ↳ QDP
                                                                ↳ UsableRulesProof
                                                                  ↳ QDP
                                                                    ↳ QReductionProof
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ Rewriting
                                                                              ↳ QDP
                                                                                ↳ Rewriting
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ UsableRulesProof
                                                                                                              ↳ QDP
                                                                                                                ↳ QReductionProof
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
                                                                                                                          ↳ QDP
                                                                                                                            ↳ QReductionProof
QDP
                                                                                                                                ↳ QDPOrderProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy62), yvy52)), h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy52), yvy62)), h, ba)

The TRS R consists of the following rules:

new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].


The following pairs can be oriented strictly and are deleted.


new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba)
new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy52), yvy62)), h, ba)
The remaining pairs can at least be oriented weakly.

new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy62), yvy52)), h, ba)
Used ordering: Polynomial interpretation [25]:

POL(Branch(x1, x2, x3, x4, x5)) = 1 + x1 + x4 + x5   
POL(EQ) = 0   
POL(False) = 1   
POL(GT) = 0   
POL(LT) = 0   
POL(Neg(x1)) = 0   
POL(Pos(x1)) = x1   
POL(Succ(x1)) = 1   
POL(True) = 1   
POL(Zero) = 1   
POL(new_esEs26(x1)) = 1   
POL(new_mkVBalBranch(x1, x2, x3, x4, x5, x6)) = x3 + x4   
POL(new_mkVBalBranch3MkVBalBranch1(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15)) = x1 + x10 + x13 + x4 + x5 + x6   
POL(new_mkVBalBranch3MkVBalBranch2(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15)) = 1 + x1 + x10 + x13 + x4 + x5 + x6 + x9   
POL(new_primCmpInt(x1, x2)) = 0   
POL(new_primCmpNat0(x1, x2)) = 0   
POL(new_primMulNat0(x1, x2)) = x1 + x2   
POL(new_primMulNat1(x1)) = 1   
POL(new_primPlusNat0(x1, x2)) = 1 + x1   
POL(new_primPlusNat1(x1, x2)) = 0   
POL(new_sr1(x1)) = 1   

The following usable rules [17] were oriented:

new_esEs26(LT) → True
new_esEs26(EQ) → False
new_esEs26(GT) → False



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Rewriting
                                              ↳ QDP
                                                ↳ UsableRulesProof
                                                  ↳ QDP
                                                    ↳ QReductionProof
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ Rewriting
                                                              ↳ QDP
                                                                ↳ UsableRulesProof
                                                                  ↳ QDP
                                                                    ↳ QReductionProof
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ Rewriting
                                                                              ↳ QDP
                                                                                ↳ Rewriting
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ UsableRulesProof
                                                                                                              ↳ QDP
                                                                                                                ↳ QReductionProof
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
                                                                                                                          ↳ QDP
                                                                                                                            ↳ QReductionProof
                                                                                                                              ↳ QDP
                                                                                                                                ↳ QDPOrderProof
QDP
                                                                                                                                    ↳ DependencyGraphProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch1(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkVBalBranch(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba)
new_mkVBalBranch(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch2(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_esEs26(new_primCmpInt(new_sr1(yvy62), yvy52)), h, ba)

The TRS R consists of the following rules:

new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs26(GT) → False
new_esEs26(EQ) → False
new_esEs26(LT) → True
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_primMulNat1(Zero) → Zero
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)

The set Q consists of the following terms:

new_primMulNat1(Succ(x0))
new_esEs26(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_sr1(Pos(x0))
new_primPlusNat0(Zero, Succ(x0))
new_primPlusNat0(Succ(x0), Succ(x1))
new_primMulNat1(Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs26(GT)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), Zero)
new_sr1(Neg(x0))
new_primPlusNat0(Zero, Zero)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 0 SCCs with 2 less nodes.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitLT2(yvy30, yvy31, yvy32, yvy33, yvy34, yvy35, False, h, ba) → new_splitLT1(yvy30, yvy31, yvy32, yvy33, yvy34, yvy35, new_gt14(yvy35, yvy30, h), h, ba)
new_splitLT1(yvy60, yvy61, yvy62, yvy63, yvy64, yvy65, True, bd, be) → new_splitLT(yvy64, yvy65, bd, be)
new_splitLT3(yvy30, yvy31, yvy32, yvy33, yvy34, yvy40, bb, bc) → new_splitLT2(yvy30, yvy31, yvy32, yvy33, yvy34, yvy40, new_lt25(yvy40, yvy30, bb), bb, bc)
new_splitLT2(yvy30, yvy31, yvy32, Branch(yvy330, yvy331, yvy332, yvy333, yvy334), yvy34, yvy35, True, h, ba) → new_splitLT3(yvy330, yvy331, yvy332, yvy333, yvy334, yvy35, h, ba)
new_splitLT(Branch(yvy330, yvy331, yvy332, yvy333, yvy334), yvy35, h, ba) → new_splitLT3(yvy330, yvy331, yvy332, yvy333, yvy334, yvy35, h, ba)

The TRS R consists of the following rules:

new_esEs29(yvy4002, yvy3002, ty_Integer) → new_esEs17(yvy4002, yvy3002)
new_esEs28(yvy4001, yvy3001, ty_Integer) → new_esEs17(yvy4001, yvy3001)
new_esEs30(yvy192, yvy195, app(app(app(ty_@3, gc), gd), ge)) → new_esEs24(yvy192, yvy195, gc, gd, ge)
new_lt23(yvy1601, yvy1611, app(ty_Maybe, fea)) → new_lt18(yvy1601, yvy1611, fea)
new_esEs37(yvy4000, yvy3000, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_compare10(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, False, yvy271, bg, bh, ca) → new_compare11(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, yvy271, bg, bh, ca)
new_esEs39(yvy1600, yvy1610, ty_Ordering) → new_esEs19(yvy1600, yvy1610)
new_lt14(yvy40, yvy30) → new_esEs26(new_compare12(yvy40, yvy30))
new_compare8(Integer(yvy400), Integer(yvy300)) → new_primCmpInt(yvy400, yvy300)
new_lt25(yvy40, yvy30, ty_Float) → new_lt17(yvy40, yvy30)
new_ltEs18(yvy194, yvy197, ty_Integer) → new_ltEs14(yvy194, yvy197)
new_ltEs18(yvy194, yvy197, app(ty_[], bbg)) → new_ltEs15(yvy194, yvy197, bbg)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, ty_Int) → new_ltEs7(yvy1600, yvy1610)
new_esEs15(:(yvy4000, yvy4001), :(yvy3000, yvy3001), eag) → new_asAs(new_esEs34(yvy4000, yvy3000, eag), new_esEs15(yvy4001, yvy3001, eag))
new_esEs7(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_esEs12(Just(yvy4000), Just(yvy3000), app(app(ty_@2, chc), chd)) → new_esEs22(yvy4000, yvy3000, chc, chd)
new_lt8(yvy193, yvy196, app(app(app(ty_@3, he), hf), hg)) → new_lt9(yvy193, yvy196, he, hf, hg)
new_esEs6(yvy402, yvy302, ty_Integer) → new_esEs17(yvy402, yvy302)
new_esEs40(yvy1601, yvy1611, app(ty_[], feb)) → new_esEs15(yvy1601, yvy1611, feb)
new_compare16(Left(yvy400), Right(yvy300), ce, cf) → LT
new_esEs30(yvy192, yvy195, app(app(ty_Either, gh), ha)) → new_esEs13(yvy192, yvy195, gh, ha)
new_ltEs23(yvy206, yvy208, ty_Ordering) → new_ltEs6(yvy206, yvy208)
new_lt21(yvy205, yvy207, ty_Ordering) → new_lt10(yvy205, yvy207)
new_esEs29(yvy4002, yvy3002, app(app(app(ty_@3, ddg), ddh), dea)) → new_esEs24(yvy4002, yvy3002, ddg, ddh, dea)
new_gt14(yvy35, yvy30, app(app(app(ty_@3, cbd), cbe), cbf)) → new_gt1(yvy35, yvy30, cbd, cbe, cbf)
new_ltEs22(yvy1601, yvy1611, app(ty_[], egh)) → new_ltEs15(yvy1601, yvy1611, egh)
new_compare12(True, False) → GT
new_sr(Integer(yvy4000), Integer(yvy3010)) → Integer(new_primMulInt(yvy4000, yvy3010))
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_lt20(yvy1600, yvy1610, ty_Int) → new_lt11(yvy1600, yvy1610)
new_esEs34(yvy4000, yvy3000, app(ty_Ratio, edf)) → new_esEs14(yvy4000, yvy3000, edf)
new_esEs4(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_esEs14(:%(yvy4000, yvy4001), :%(yvy3000, yvy3001), eaf) → new_asAs(new_esEs37(yvy4000, yvy3000, eaf), new_esEs38(yvy4001, yvy3001, eaf))
new_lt23(yvy1601, yvy1611, ty_Ordering) → new_lt10(yvy1601, yvy1611)
new_ltEs21(yvy160, yvy161, app(ty_Maybe, cba)) → new_ltEs13(yvy160, yvy161, cba)
new_esEs27(yvy4000, yvy3000, app(ty_[], dag)) → new_esEs15(yvy4000, yvy3000, dag)
new_ltEs19(yvy167, yvy168, ty_Integer) → new_ltEs14(yvy167, yvy168)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(app(ty_@2, dd), de), dc) → new_ltEs9(yvy1600, yvy1610, dd, de)
new_ltEs18(yvy194, yvy197, ty_Char) → new_ltEs16(yvy194, yvy197)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, ty_Ordering) → new_ltEs6(yvy1600, yvy1610)
new_esEs28(yvy4001, yvy3001, ty_@0) → new_esEs25(yvy4001, yvy3001)
new_esEs27(yvy4000, yvy3000, ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_ltEs20(yvy174, yvy175, app(ty_Maybe, bdd)) → new_ltEs13(yvy174, yvy175, bdd)
new_ltEs24(yvy1602, yvy1612, ty_Double) → new_ltEs8(yvy1602, yvy1612)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, ty_Integer) → new_ltEs14(yvy1600, yvy1610)
new_esEs33(yvy4001, yvy3001, app(ty_Ratio, dfh)) → new_esEs14(yvy4001, yvy3001, dfh)
new_ltEs22(yvy1601, yvy1611, ty_Ordering) → new_ltEs6(yvy1601, yvy1611)
new_esEs36(yvy205, yvy207, ty_Char) → new_esEs23(yvy205, yvy207)
new_esEs31(yvy193, yvy196, ty_@0) → new_esEs25(yvy193, yvy196)
new_compare18(GT, EQ) → GT
new_lt22(yvy1600, yvy1610, ty_Integer) → new_lt5(yvy1600, yvy1610)
new_ltEs22(yvy1601, yvy1611, app(app(app(ty_@3, efh), ega), egb)) → new_ltEs5(yvy1601, yvy1611, efh, ega, egb)
new_ltEs22(yvy1601, yvy1611, app(ty_Ratio, eha)) → new_ltEs17(yvy1601, yvy1611, eha)
new_esEs31(yvy193, yvy196, app(ty_Maybe, bad)) → new_esEs12(yvy193, yvy196, bad)
new_lt22(yvy1600, yvy1610, ty_Float) → new_lt17(yvy1600, yvy1610)
new_gt6(yvy40, yvy30) → new_esEs41(new_compare18(yvy40, yvy30))
new_esEs24(@3(yvy4000, yvy4001, yvy4002), @3(yvy3000, yvy3001, yvy3002), daa, dab, dac) → new_asAs(new_esEs27(yvy4000, yvy3000, daa), new_asAs(new_esEs28(yvy4001, yvy3001, dab), new_esEs29(yvy4002, yvy3002, dac)))
new_esEs7(yvy400, yvy300, app(ty_[], bga)) → new_esEs15(yvy400, yvy300, bga)
new_compare110(yvy279, yvy280, yvy281, yvy282, True, yvy284, ccf, ccg) → new_compare111(yvy279, yvy280, yvy281, yvy282, True, ccf, ccg)
new_esEs8(yvy401, yvy301, app(ty_[], bhc)) → new_esEs15(yvy401, yvy301, bhc)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Bool, dc) → new_ltEs10(yvy1600, yvy1610)
new_esEs33(yvy4001, yvy3001, ty_Float) → new_esEs21(yvy4001, yvy3001)
new_ltEs10(False, False) → True
new_esEs4(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_esEs22(@2(yvy4000, yvy4001), @2(yvy3000, yvy3001), deb, dec) → new_asAs(new_esEs32(yvy4000, yvy3000, deb), new_esEs33(yvy4001, yvy3001, dec))
new_compare31(yvy400, yvy300, ty_@0) → new_compare27(yvy400, yvy300)
new_ltEs13(Just(yvy1600), Just(yvy1610), app(app(ty_@2, gae), gaf)) → new_ltEs9(yvy1600, yvy1610, gae, gaf)
new_esEs10(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_ltEs24(yvy1602, yvy1612, app(ty_Ratio, ffe)) → new_ltEs17(yvy1602, yvy1612, ffe)
new_ltEs19(yvy167, yvy168, app(app(ty_Either, dhg), dhh)) → new_ltEs4(yvy167, yvy168, dhg, dhh)
new_esEs28(yvy4001, yvy3001, ty_Char) → new_esEs23(yvy4001, yvy3001)
new_pePe(False, yvy295) → yvy295
new_esEs19(GT, GT) → True
new_lt25(yvy40, yvy30, ty_Double) → new_lt12(yvy40, yvy30)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Ordering, dc) → new_ltEs6(yvy1600, yvy1610)
new_ltEs24(yvy1602, yvy1612, ty_Integer) → new_ltEs14(yvy1602, yvy1612)
new_lt25(yvy40, yvy30, app(ty_Maybe, bdg)) → new_lt18(yvy40, yvy30, bdg)
new_ltEs24(yvy1602, yvy1612, app(app(ty_@2, feg), feh)) → new_ltEs9(yvy1602, yvy1612, feg, feh)
new_esEs6(yvy402, yvy302, ty_Char) → new_esEs23(yvy402, yvy302)
new_lt20(yvy1600, yvy1610, ty_Double) → new_lt12(yvy1600, yvy1610)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, app(ty_[], fhc)) → new_esEs15(yvy4000, yvy3000, fhc)
new_ltEs20(yvy174, yvy175, app(app(ty_Either, bdb), bdc)) → new_ltEs4(yvy174, yvy175, bdb, bdc)
new_esEs10(yvy400, yvy300, app(ty_Maybe, ceh)) → new_esEs12(yvy400, yvy300, ceh)
new_esEs34(yvy4000, yvy3000, app(ty_Maybe, eeb)) → new_esEs12(yvy4000, yvy3000, eeb)
new_esEs26(EQ) → False
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Int, dc) → new_ltEs7(yvy1600, yvy1610)
new_esEs29(yvy4002, yvy3002, app(app(ty_@2, ddd), dde)) → new_esEs22(yvy4002, yvy3002, ddd, dde)
new_ltEs6(GT, EQ) → False
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, app(app(ty_Either, fa), fb)) → new_ltEs4(yvy1600, yvy1610, fa, fb)
new_lt23(yvy1601, yvy1611, ty_Int) → new_lt11(yvy1601, yvy1611)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Int) → new_ltEs7(yvy1600, yvy1610)
new_esEs9(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_lt7(yvy192, yvy195, app(ty_Ratio, hd)) → new_lt6(yvy192, yvy195, hd)
new_ltEs18(yvy194, yvy197, ty_@0) → new_ltEs11(yvy194, yvy197)
new_ltEs24(yvy1602, yvy1612, ty_Int) → new_ltEs7(yvy1602, yvy1612)
new_ltEs13(Nothing, Nothing, cba) → True
new_esEs10(yvy400, yvy300, app(app(ty_@2, cef), ceg)) → new_esEs22(yvy400, yvy300, cef, ceg)
new_esEs35(yvy1600, yvy1610, app(app(ty_@2, efa), efb)) → new_esEs22(yvy1600, yvy1610, efa, efb)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_Double) → new_esEs18(yvy4000, yvy3000)
new_compare12(False, True) → LT
new_lt25(yvy40, yvy30, ty_Bool) → new_lt14(yvy40, yvy30)
new_esEs9(yvy400, yvy300, app(ty_Ratio, cdb)) → new_esEs14(yvy400, yvy300, cdb)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Integer, eae) → new_esEs17(yvy4000, yvy3000)
new_esEs40(yvy1601, yvy1611, ty_Double) → new_esEs18(yvy1601, yvy1611)
new_esEs12(Nothing, Just(yvy3000), cgf) → False
new_esEs12(Just(yvy4000), Nothing, cgf) → False
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Bool, eae) → new_esEs20(yvy4000, yvy3000)
new_esEs34(yvy4000, yvy3000, ty_@0) → new_esEs25(yvy4000, yvy3000)
new_esEs39(yvy1600, yvy1610, app(ty_[], fch)) → new_esEs15(yvy1600, yvy1610, fch)
new_pePe(True, yvy295) → True
new_primEqNat0(Zero, Zero) → True
new_compare14(yvy236, yvy237, False, bcb, bcc) → GT
new_esEs27(yvy4000, yvy3000, app(app(ty_@2, dah), dba)) → new_esEs22(yvy4000, yvy3000, dah, dba)
new_lt21(yvy205, yvy207, app(ty_Maybe, fac)) → new_lt18(yvy205, yvy207, fac)
new_compare31(yvy400, yvy300, app(ty_Ratio, cge)) → new_compare6(yvy400, yvy300, cge)
new_compare17(@3(yvy400, yvy401, yvy402), @3(yvy300, yvy301, yvy302), cb, cc, cd) → new_compare24(yvy400, yvy401, yvy402, yvy300, yvy301, yvy302, new_asAs(new_esEs4(yvy400, yvy300, cb), new_asAs(new_esEs5(yvy401, yvy301, cc), new_esEs6(yvy402, yvy302, cd))), cb, cc, cd)
new_lt21(yvy205, yvy207, app(app(ty_Either, faa), fab)) → new_lt16(yvy205, yvy207, faa, fab)
new_ltEs20(yvy174, yvy175, ty_Bool) → new_ltEs10(yvy174, yvy175)
new_ltEs20(yvy174, yvy175, ty_Integer) → new_ltEs14(yvy174, yvy175)
new_esEs7(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_esEs12(Nothing, Nothing, cgf) → True
new_esEs9(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_ltEs23(yvy206, yvy208, ty_Integer) → new_ltEs14(yvy206, yvy208)
new_esEs35(yvy1600, yvy1610, ty_Integer) → new_esEs17(yvy1600, yvy1610)
new_ltEs21(yvy160, yvy161, ty_Bool) → new_ltEs10(yvy160, yvy161)
new_esEs36(yvy205, yvy207, app(ty_Maybe, fac)) → new_esEs12(yvy205, yvy207, fac)
new_esEs8(yvy401, yvy301, app(ty_Maybe, bhf)) → new_esEs12(yvy401, yvy301, bhf)
new_ltEs20(yvy174, yvy175, app(app(ty_@2, bch), bda)) → new_ltEs9(yvy174, yvy175, bch, bda)
new_ltEs22(yvy1601, yvy1611, app(app(ty_@2, egc), egd)) → new_ltEs9(yvy1601, yvy1611, egc, egd)
new_gt0(yvy40, yvy30, bf) → new_esEs41(new_compare5(yvy40, yvy30, bf))
new_esEs12(Just(yvy4000), Just(yvy3000), app(app(ty_Either, cgg), cgh)) → new_esEs13(yvy4000, yvy3000, cgg, cgh)
new_esEs33(yvy4001, yvy3001, app(ty_[], dga)) → new_esEs15(yvy4001, yvy3001, dga)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Float) → new_ltEs12(yvy1600, yvy1610)
new_esEs29(yvy4002, yvy3002, ty_Bool) → new_esEs20(yvy4002, yvy3002)
new_ltEs6(EQ, GT) → True
new_esEs34(yvy4000, yvy3000, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_lt7(yvy192, yvy195, app(app(ty_@2, gf), gg)) → new_lt13(yvy192, yvy195, gf, gg)
new_esEs29(yvy4002, yvy3002, app(app(ty_Either, dch), dda)) → new_esEs13(yvy4002, yvy3002, dch, dda)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, ty_@0) → new_ltEs11(yvy1600, yvy1610)
new_esEs11(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_lt21(yvy205, yvy207, app(app(ty_@2, ehg), ehh)) → new_lt13(yvy205, yvy207, ehg, ehh)
new_lt22(yvy1600, yvy1610, app(ty_Maybe, fcg)) → new_lt18(yvy1600, yvy1610, fcg)
new_esEs27(yvy4000, yvy3000, app(app(app(ty_@3, dbc), dbd), dbe)) → new_esEs24(yvy4000, yvy3000, dbc, dbd, dbe)
new_esEs27(yvy4000, yvy3000, ty_Float) → new_esEs21(yvy4000, yvy3000)
new_primEqInt(Neg(Succ(yvy40000)), Neg(Succ(yvy30000))) → new_primEqNat0(yvy40000, yvy30000)
new_lt25(yvy40, yvy30, ty_Int) → new_lt11(yvy40, yvy30)
new_esEs19(EQ, EQ) → True
new_lt8(yvy193, yvy196, ty_Double) → new_lt12(yvy193, yvy196)
new_esEs16(yvy400, yvy300) → new_primEqInt(yvy400, yvy300)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Float, dc) → new_ltEs12(yvy1600, yvy1610)
new_esEs9(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_ltEs21(yvy160, yvy161, app(ty_[], cbb)) → new_ltEs15(yvy160, yvy161, cbb)
new_ltEs22(yvy1601, yvy1611, ty_Int) → new_ltEs7(yvy1601, yvy1611)
new_esEs5(yvy401, yvy301, ty_Bool) → new_esEs20(yvy401, yvy301)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs4(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_esEs40(yvy1601, yvy1611, app(app(app(ty_@3, fdb), fdc), fdd)) → new_esEs24(yvy1601, yvy1611, fdb, fdc, fdd)
new_esEs35(yvy1600, yvy1610, ty_Ordering) → new_esEs19(yvy1600, yvy1610)
new_compare6(:%(yvy400, yvy401), :%(yvy300, yvy301), ty_Integer) → new_compare8(new_sr(yvy400, yvy301), new_sr(yvy300, yvy401))
new_lt17(yvy40, yvy30) → new_esEs26(new_compare19(yvy40, yvy30))
new_compare211(yvy160, yvy161, False, cab, cac) → new_compare14(yvy160, yvy161, new_ltEs21(yvy160, yvy161, cab), cab, cac)
new_esEs29(yvy4002, yvy3002, ty_@0) → new_esEs25(yvy4002, yvy3002)
new_esEs34(yvy4000, yvy3000, app(ty_[], edg)) → new_esEs15(yvy4000, yvy3000, edg)
new_esEs33(yvy4001, yvy3001, ty_Integer) → new_esEs17(yvy4001, yvy3001)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, app(ty_Ratio, ff)) → new_ltEs17(yvy1600, yvy1610, ff)
new_ltEs6(GT, GT) → True
new_fsEs(yvy296) → new_not(new_esEs19(yvy296, GT))
new_ltEs24(yvy1602, yvy1612, ty_@0) → new_ltEs11(yvy1602, yvy1612)
new_esEs5(yvy401, yvy301, ty_Integer) → new_esEs17(yvy401, yvy301)
new_esEs7(yvy400, yvy300, app(app(ty_Either, bff), bfg)) → new_esEs13(yvy400, yvy300, bff, bfg)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_esEs4(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_esEs6(yvy402, yvy302, ty_@0) → new_esEs25(yvy402, yvy302)
new_esEs31(yvy193, yvy196, ty_Bool) → new_esEs20(yvy193, yvy196)
new_esEs6(yvy402, yvy302, app(ty_Ratio, ecd)) → new_esEs14(yvy402, yvy302, ecd)
new_esEs19(LT, EQ) → False
new_esEs19(EQ, LT) → False
new_compare11(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, True, bg, bh, ca) → LT
new_primEqInt(Pos(Succ(yvy40000)), Pos(Succ(yvy30000))) → new_primEqNat0(yvy40000, yvy30000)
new_compare28(Nothing, Just(yvy300), bdg) → LT
new_ltEs18(yvy194, yvy197, ty_Double) → new_ltEs8(yvy194, yvy197)
new_compare31(yvy400, yvy300, app(app(app(ty_@3, cfd), cfe), cff)) → new_compare17(yvy400, yvy300, cfd, cfe, cff)
new_esEs13(Left(yvy4000), Left(yvy3000), app(app(ty_@2, fgb), fgc), eae) → new_esEs22(yvy4000, yvy3000, fgb, fgc)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, app(ty_[], fd)) → new_ltEs15(yvy1600, yvy1610, fd)
new_esEs5(yvy401, yvy301, app(ty_[], ebc)) → new_esEs15(yvy401, yvy301, ebc)
new_primEqNat0(Succ(yvy40000), Succ(yvy30000)) → new_primEqNat0(yvy40000, yvy30000)
new_esEs8(yvy401, yvy301, ty_@0) → new_esEs25(yvy401, yvy301)
new_esEs27(yvy4000, yvy3000, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_esEs35(yvy1600, yvy1610, app(ty_Maybe, efe)) → new_esEs12(yvy1600, yvy1610, efe)
new_gt9(yvy40, yvy30) → new_esEs41(new_compare12(yvy40, yvy30))
new_esEs7(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_compare5(:(yvy400, yvy401), :(yvy300, yvy301), bf) → new_primCompAux0(yvy400, yvy300, new_compare5(yvy401, yvy301, bf), bf)
new_ltEs20(yvy174, yvy175, ty_Char) → new_ltEs16(yvy174, yvy175)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Bool) → new_ltEs10(yvy1600, yvy1610)
new_esEs40(yvy1601, yvy1611, ty_Bool) → new_esEs20(yvy1601, yvy1611)
new_lt23(yvy1601, yvy1611, app(app(ty_Either, fdg), fdh)) → new_lt16(yvy1601, yvy1611, fdg, fdh)
new_esEs30(yvy192, yvy195, app(ty_Ratio, hd)) → new_esEs14(yvy192, yvy195, hd)
new_esEs11(yvy400, yvy300, app(app(app(ty_@3, beg), beh), bfa)) → new_esEs24(yvy400, yvy300, beg, beh, bfa)
new_compare13(yvy252, yvy253, True, fg) → LT
new_compare18(GT, LT) → GT
new_esEs29(yvy4002, yvy3002, ty_Double) → new_esEs18(yvy4002, yvy3002)
new_lt20(yvy1600, yvy1610, app(ty_Ratio, efg)) → new_lt6(yvy1600, yvy1610, efg)
new_lt25(yvy40, yvy30, app(app(app(ty_@3, cb), cc), cd)) → new_lt9(yvy40, yvy30, cb, cc, cd)
new_esEs32(yvy4000, yvy3000, app(ty_Maybe, dfb)) → new_esEs12(yvy4000, yvy3000, dfb)
new_ltEs11(yvy160, yvy161) → new_fsEs(new_compare27(yvy160, yvy161))
new_ltEs18(yvy194, yvy197, app(app(ty_Either, bbd), bbe)) → new_ltEs4(yvy194, yvy197, bbd, bbe)
new_esEs32(yvy4000, yvy3000, app(ty_Ratio, def)) → new_esEs14(yvy4000, yvy3000, def)
new_ltEs22(yvy1601, yvy1611, ty_@0) → new_ltEs11(yvy1601, yvy1611)
new_gt2(yvy40, yvy30, ce, cf) → new_esEs41(new_compare16(yvy40, yvy30, ce, cf))
new_esEs11(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_lt25(yvy40, yvy30, ty_Char) → new_lt19(yvy40, yvy30)
new_esEs10(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_lt7(yvy192, yvy195, ty_Double) → new_lt12(yvy192, yvy195)
new_esEs31(yvy193, yvy196, ty_Integer) → new_esEs17(yvy193, yvy196)
new_primEqInt(Pos(Zero), Neg(Succ(yvy30000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(yvy30000))) → False
new_lt7(yvy192, yvy195, app(app(app(ty_@3, gc), gd), ge)) → new_lt9(yvy192, yvy195, gc, gd, ge)
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCompAux00(yvy180, EQ) → yvy180
new_esEs13(Left(yvy4000), Left(yvy3000), app(app(ty_Either, fff), ffg), eae) → new_esEs13(yvy4000, yvy3000, fff, ffg)
new_lt22(yvy1600, yvy1610, app(ty_[], fch)) → new_lt4(yvy1600, yvy1610, fch)
new_esEs36(yvy205, yvy207, app(ty_Ratio, fae)) → new_esEs14(yvy205, yvy207, fae)
new_ltEs24(yvy1602, yvy1612, app(ty_[], ffd)) → new_ltEs15(yvy1602, yvy1612, ffd)
new_ltEs23(yvy206, yvy208, app(ty_[], fbf)) → new_ltEs15(yvy206, yvy208, fbf)
new_compare31(yvy400, yvy300, app(ty_[], cgd)) → new_compare5(yvy400, yvy300, cgd)
new_esEs7(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(ty_[], ea), dc) → new_ltEs15(yvy1600, yvy1610, ea)
new_esEs30(yvy192, yvy195, ty_Double) → new_esEs18(yvy192, yvy195)
new_esEs28(yvy4001, yvy3001, app(ty_Ratio, dbh)) → new_esEs14(yvy4001, yvy3001, dbh)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_@0) → new_esEs25(yvy4000, yvy3000)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, app(ty_Maybe, fc)) → new_ltEs13(yvy1600, yvy1610, fc)
new_compare18(EQ, GT) → LT
new_esEs30(yvy192, yvy195, app(app(ty_@2, gf), gg)) → new_esEs22(yvy192, yvy195, gf, gg)
new_not(False) → True
new_lt8(yvy193, yvy196, ty_Integer) → new_lt5(yvy193, yvy196)
new_ltEs22(yvy1601, yvy1611, app(app(ty_Either, ege), egf)) → new_ltEs4(yvy1601, yvy1611, ege, egf)
new_esEs32(yvy4000, yvy3000, ty_Float) → new_esEs21(yvy4000, yvy3000)
new_compare31(yvy400, yvy300, app(ty_Maybe, cgc)) → new_compare28(yvy400, yvy300, cgc)
new_gt14(yvy35, yvy30, app(app(ty_Either, cca), ccb)) → new_gt2(yvy35, yvy30, cca, ccb)
new_esEs36(yvy205, yvy207, ty_Integer) → new_esEs17(yvy205, yvy207)
new_esEs9(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_lt25(yvy40, yvy30, ty_Integer) → new_lt5(yvy40, yvy30)
new_esEs6(yvy402, yvy302, ty_Int) → new_esEs16(yvy402, yvy302)
new_esEs11(yvy400, yvy300, app(app(ty_Either, bdh), bea)) → new_esEs13(yvy400, yvy300, bdh, bea)
new_lt20(yvy1600, yvy1610, app(app(ty_Either, efc), efd)) → new_lt16(yvy1600, yvy1610, efc, efd)
new_esEs32(yvy4000, yvy3000, app(ty_[], deg)) → new_esEs15(yvy4000, yvy3000, deg)
new_esEs13(Left(yvy4000), Left(yvy3000), app(ty_Maybe, fgd), eae) → new_esEs12(yvy4000, yvy3000, fgd)
new_esEs9(yvy400, yvy300, app(app(ty_@2, cdd), cde)) → new_esEs22(yvy400, yvy300, cdd, cde)
new_esEs6(yvy402, yvy302, app(app(ty_Either, ecb), ecc)) → new_esEs13(yvy402, yvy302, ecb, ecc)
new_esEs28(yvy4001, yvy3001, app(app(ty_Either, dbf), dbg)) → new_esEs13(yvy4001, yvy3001, dbf, dbg)
new_compare28(Just(yvy400), Nothing, bdg) → GT
new_esEs5(yvy401, yvy301, ty_Char) → new_esEs23(yvy401, yvy301)
new_gt14(yvy35, yvy30, ty_Char) → new_gt13(yvy35, yvy30)
new_lt8(yvy193, yvy196, ty_Ordering) → new_lt10(yvy193, yvy196)
new_lt4(yvy40, yvy30, bf) → new_esEs26(new_compare5(yvy40, yvy30, bf))
new_lt8(yvy193, yvy196, app(ty_Maybe, bad)) → new_lt18(yvy193, yvy196, bad)
new_esEs30(yvy192, yvy195, ty_Char) → new_esEs23(yvy192, yvy195)
new_esEs34(yvy4000, yvy3000, app(app(ty_@2, edh), eea)) → new_esEs22(yvy4000, yvy3000, edh, eea)
new_esEs5(yvy401, yvy301, ty_Float) → new_esEs21(yvy401, yvy301)
new_ltEs18(yvy194, yvy197, ty_Int) → new_ltEs7(yvy194, yvy197)
new_primMulInt(Neg(yvy4000), Neg(yvy3000)) → Pos(new_primMulNat0(yvy4000, yvy3000))
new_primEqNat0(Zero, Succ(yvy30000)) → False
new_primEqNat0(Succ(yvy40000), Zero) → False
new_compare31(yvy400, yvy300, ty_Integer) → new_compare8(yvy400, yvy300)
new_compare25(yvy167, yvy168, True, dgh, dha) → EQ
new_ltEs6(EQ, LT) → False
new_esEs27(yvy4000, yvy3000, app(app(ty_Either, dad), dae)) → new_esEs13(yvy4000, yvy3000, dad, dae)
new_esEs11(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_ltEs20(yvy174, yvy175, ty_Int) → new_ltEs7(yvy174, yvy175)
new_lt25(yvy40, yvy30, app(app(ty_@2, bfd), bfe)) → new_lt13(yvy40, yvy30, bfd, bfe)
new_esEs31(yvy193, yvy196, app(app(ty_@2, hh), baa)) → new_esEs22(yvy193, yvy196, hh, baa)
new_lt23(yvy1601, yvy1611, app(ty_Ratio, fec)) → new_lt6(yvy1601, yvy1611, fec)
new_gt14(yvy35, yvy30, app(ty_[], ccd)) → new_gt0(yvy35, yvy30, ccd)
new_ltEs22(yvy1601, yvy1611, ty_Double) → new_ltEs8(yvy1601, yvy1611)
new_esEs32(yvy4000, yvy3000, ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_esEs12(Just(yvy4000), Just(yvy3000), app(ty_[], chb)) → new_esEs15(yvy4000, yvy3000, chb)
new_esEs13(Left(yvy4000), Left(yvy3000), app(ty_Ratio, ffh), eae) → new_esEs14(yvy4000, yvy3000, ffh)
new_esEs35(yvy1600, yvy1610, app(app(app(ty_@3, eef), eeg), eeh)) → new_esEs24(yvy1600, yvy1610, eef, eeg, eeh)
new_esEs32(yvy4000, yvy3000, ty_@0) → new_esEs25(yvy4000, yvy3000)
new_ltEs19(yvy167, yvy168, ty_Bool) → new_ltEs10(yvy167, yvy168)
new_esEs6(yvy402, yvy302, app(ty_[], ece)) → new_esEs15(yvy402, yvy302, ece)
new_ltEs22(yvy1601, yvy1611, ty_Float) → new_ltEs12(yvy1601, yvy1611)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_ltEs22(yvy1601, yvy1611, ty_Char) → new_ltEs16(yvy1601, yvy1611)
new_esEs31(yvy193, yvy196, app(app(app(ty_@3, he), hf), hg)) → new_esEs24(yvy193, yvy196, he, hf, hg)
new_esEs12(Just(yvy4000), Just(yvy3000), app(ty_Ratio, cha)) → new_esEs14(yvy4000, yvy3000, cha)
new_lt21(yvy205, yvy207, ty_Integer) → new_lt5(yvy205, yvy207)
new_esEs20(False, True) → False
new_esEs20(True, False) → False
new_esEs4(yvy400, yvy300, app(app(app(ty_@3, daa), dab), dac)) → new_esEs24(yvy400, yvy300, daa, dab, dac)
new_ltEs18(yvy194, yvy197, ty_Float) → new_ltEs12(yvy194, yvy197)
new_ltEs19(yvy167, yvy168, ty_Double) → new_ltEs8(yvy167, yvy168)
new_esEs40(yvy1601, yvy1611, app(app(ty_@2, fde), fdf)) → new_esEs22(yvy1601, yvy1611, fde, fdf)
new_esEs32(yvy4000, yvy3000, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_esEs7(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_esEs19(LT, LT) → True
new_esEs40(yvy1601, yvy1611, ty_Int) → new_esEs16(yvy1601, yvy1611)
new_esEs15([], :(yvy3000, yvy3001), eag) → False
new_esEs15(:(yvy4000, yvy4001), [], eag) → False
new_esEs28(yvy4001, yvy3001, app(app(app(ty_@3, dce), dcf), dcg)) → new_esEs24(yvy4001, yvy3001, dce, dcf, dcg)
new_compare5([], :(yvy300, yvy301), bf) → LT
new_compare29(@2(yvy400, yvy401), @2(yvy300, yvy301), bfd, bfe) → new_compare210(yvy400, yvy401, yvy300, yvy301, new_asAs(new_esEs7(yvy400, yvy300, bfd), new_esEs8(yvy401, yvy301, bfe)), bfd, bfe)
new_esEs11(yvy400, yvy300, app(ty_Ratio, beb)) → new_esEs14(yvy400, yvy300, beb)
new_gt13(yvy40, yvy30) → new_esEs41(new_compare30(yvy40, yvy30))
new_esEs37(yvy4000, yvy3000, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_esEs33(yvy4001, yvy3001, ty_Char) → new_esEs23(yvy4001, yvy3001)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Double) → new_ltEs8(yvy1600, yvy1610)
new_esEs32(yvy4000, yvy3000, app(app(ty_Either, ded), dee)) → new_esEs13(yvy4000, yvy3000, ded, dee)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs10(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Double, dc) → new_ltEs8(yvy1600, yvy1610)
new_ltEs10(True, False) → False
new_esEs40(yvy1601, yvy1611, ty_Ordering) → new_esEs19(yvy1601, yvy1611)
new_asAs(False, yvy230) → False
new_esEs10(yvy400, yvy300, app(app(app(ty_@3, cfa), cfb), cfc)) → new_esEs24(yvy400, yvy300, cfa, cfb, cfc)
new_gt14(yvy35, yvy30, ty_Integer) → new_gt12(yvy35, yvy30)
new_primMulInt(Pos(yvy4000), Neg(yvy3000)) → Neg(new_primMulNat0(yvy4000, yvy3000))
new_primMulInt(Neg(yvy4000), Pos(yvy3000)) → Neg(new_primMulNat0(yvy4000, yvy3000))
new_esEs5(yvy401, yvy301, ty_@0) → new_esEs25(yvy401, yvy301)
new_lt11(yvy40, yvy30) → new_esEs26(new_compare7(yvy40, yvy30))
new_esEs6(yvy402, yvy302, app(ty_Maybe, ech)) → new_esEs12(yvy402, yvy302, ech)
new_esEs27(yvy4000, yvy3000, ty_@0) → new_esEs25(yvy4000, yvy3000)
new_esEs9(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_lt7(yvy192, yvy195, app(ty_[], hc)) → new_lt4(yvy192, yvy195, hc)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_lt19(yvy40, yvy30) → new_esEs26(new_compare30(yvy40, yvy30))
new_esEs13(Right(yvy4000), Right(yvy3000), ead, app(ty_Maybe, fhf)) → new_esEs12(yvy4000, yvy3000, fhf)
new_esEs29(yvy4002, yvy3002, ty_Char) → new_esEs23(yvy4002, yvy3002)
new_esEs40(yvy1601, yvy1611, ty_Char) → new_esEs23(yvy1601, yvy1611)
new_lt20(yvy1600, yvy1610, app(ty_[], eff)) → new_lt4(yvy1600, yvy1610, eff)
new_compare31(yvy400, yvy300, ty_Float) → new_compare19(yvy400, yvy300)
new_esEs28(yvy4001, yvy3001, app(app(ty_@2, dcb), dcc)) → new_esEs22(yvy4001, yvy3001, dcb, dcc)
new_lt22(yvy1600, yvy1610, ty_@0) → new_lt15(yvy1600, yvy1610)
new_esEs28(yvy4001, yvy3001, ty_Double) → new_esEs18(yvy4001, yvy3001)
new_compare9(Double(yvy400, yvy401), Double(yvy300, yvy301)) → new_compare7(new_sr0(yvy400, yvy300), new_sr0(yvy401, yvy301))
new_esEs7(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_esEs40(yvy1601, yvy1611, ty_Float) → new_esEs21(yvy1601, yvy1611)
new_ltEs18(yvy194, yvy197, app(ty_Ratio, bbh)) → new_ltEs17(yvy194, yvy197, bbh)
new_compare111(yvy279, yvy280, yvy281, yvy282, False, ccf, ccg) → GT
new_ltEs18(yvy194, yvy197, app(ty_Maybe, bbf)) → new_ltEs13(yvy194, yvy197, bbf)
new_esEs34(yvy4000, yvy3000, ty_Float) → new_esEs21(yvy4000, yvy3000)
new_esEs8(yvy401, yvy301, app(app(ty_@2, bhd), bhe)) → new_esEs22(yvy401, yvy301, bhd, bhe)
new_ltEs6(LT, GT) → True
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_@0, dc) → new_ltEs11(yvy1600, yvy1610)
new_esEs27(yvy4000, yvy3000, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_ltEs21(yvy160, yvy161, ty_Char) → new_ltEs16(yvy160, yvy161)
new_esEs39(yvy1600, yvy1610, app(app(ty_@2, fcc), fcd)) → new_esEs22(yvy1600, yvy1610, fcc, fcd)
new_esEs7(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_ltEs21(yvy160, yvy161, ty_Ordering) → new_ltEs6(yvy160, yvy161)
new_lt25(yvy40, yvy30, app(app(ty_Either, ce), cf)) → new_lt16(yvy40, yvy30, ce, cf)
new_esEs13(Right(yvy4000), Left(yvy3000), ead, eae) → False
new_esEs13(Left(yvy4000), Right(yvy3000), ead, eae) → False
new_esEs13(Right(yvy4000), Right(yvy3000), ead, app(app(ty_Either, fgh), fha)) → new_esEs13(yvy4000, yvy3000, fgh, fha)
new_lt22(yvy1600, yvy1610, ty_Int) → new_lt11(yvy1600, yvy1610)
new_ltEs23(yvy206, yvy208, app(app(ty_@2, fba), fbb)) → new_ltEs9(yvy206, yvy208, fba, fbb)
new_esEs39(yvy1600, yvy1610, ty_Char) → new_esEs23(yvy1600, yvy1610)
new_lt20(yvy1600, yvy1610, ty_Integer) → new_lt5(yvy1600, yvy1610)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Float, eae) → new_esEs21(yvy4000, yvy3000)
new_esEs41(GT) → True
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Int, eae) → new_esEs16(yvy4000, yvy3000)
new_esEs4(yvy400, yvy300, app(app(ty_@2, deb), dec)) → new_esEs22(yvy400, yvy300, deb, dec)
new_esEs39(yvy1600, yvy1610, ty_Float) → new_esEs21(yvy1600, yvy1610)
new_esEs4(yvy400, yvy300, app(app(ty_Either, ead), eae)) → new_esEs13(yvy400, yvy300, ead, eae)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_compare14(yvy236, yvy237, True, bcb, bcc) → LT
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Float) → new_esEs21(yvy4000, yvy3000)
new_esEs39(yvy1600, yvy1610, ty_Integer) → new_esEs17(yvy1600, yvy1610)
new_compare31(yvy400, yvy300, app(app(ty_Either, cga), cgb)) → new_compare16(yvy400, yvy300, cga, cgb)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_Char) → new_esEs23(yvy4000, yvy3000)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, ty_Double) → new_ltEs8(yvy1600, yvy1610)
new_gt4(yvy40, yvy30) → new_esEs41(new_compare19(yvy40, yvy30))
new_esEs39(yvy1600, yvy1610, app(app(ty_Either, fce), fcf)) → new_esEs13(yvy1600, yvy1610, fce, fcf)
new_ltEs21(yvy160, yvy161, ty_Float) → new_ltEs12(yvy160, yvy161)
new_esEs12(Just(yvy4000), Just(yvy3000), app(ty_Maybe, che)) → new_esEs12(yvy4000, yvy3000, che)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_ltEs10(True, True) → True
new_ltEs6(LT, EQ) → True
new_lt21(yvy205, yvy207, app(ty_Ratio, fae)) → new_lt6(yvy205, yvy207, fae)
new_esEs26(LT) → True
new_ltEs6(GT, LT) → False
new_asAs(True, yvy230) → yvy230
new_ltEs7(yvy160, yvy161) → new_fsEs(new_compare7(yvy160, yvy161))
new_lt21(yvy205, yvy207, app(ty_[], fad)) → new_lt4(yvy205, yvy207, fad)
new_esEs30(yvy192, yvy195, ty_Integer) → new_esEs17(yvy192, yvy195)
new_compare25(yvy167, yvy168, False, dgh, dha) → new_compare15(yvy167, yvy168, new_ltEs19(yvy167, yvy168, dha), dgh, dha)
new_gt14(yvy35, yvy30, ty_Float) → new_gt4(yvy35, yvy30)
new_gt14(yvy35, yvy30, ty_Double) → new_gt7(yvy35, yvy30)
new_ltEs19(yvy167, yvy168, ty_Float) → new_ltEs12(yvy167, yvy168)
new_ltEs23(yvy206, yvy208, ty_Int) → new_ltEs7(yvy206, yvy208)
new_ltEs16(yvy160, yvy161) → new_fsEs(new_compare30(yvy160, yvy161))
new_primCompAux0(yvy400, yvy300, yvy115, bf) → new_primCompAux00(yvy115, new_compare31(yvy400, yvy300, bf))
new_esEs7(yvy400, yvy300, app(ty_Ratio, bfh)) → new_esEs14(yvy400, yvy300, bfh)
new_esEs30(yvy192, yvy195, ty_Bool) → new_esEs20(yvy192, yvy195)
new_esEs39(yvy1600, yvy1610, app(app(app(ty_@3, fbh), fca), fcb)) → new_esEs24(yvy1600, yvy1610, fbh, fca, fcb)
new_esEs29(yvy4002, yvy3002, app(ty_[], ddc)) → new_esEs15(yvy4002, yvy3002, ddc)
new_ltEs13(Just(yvy1600), Just(yvy1610), app(app(app(ty_@3, gab), gac), gad)) → new_ltEs5(yvy1600, yvy1610, gab, gac, gad)
new_compare5([], [], bf) → EQ
new_esEs34(yvy4000, yvy3000, app(app(app(ty_@3, eec), eed), eee)) → new_esEs24(yvy4000, yvy3000, eec, eed, eee)
new_ltEs20(yvy174, yvy175, ty_Ordering) → new_ltEs6(yvy174, yvy175)
new_esEs30(yvy192, yvy195, app(ty_[], hc)) → new_esEs15(yvy192, yvy195, hc)
new_esEs36(yvy205, yvy207, app(ty_[], fad)) → new_esEs15(yvy205, yvy207, fad)
new_esEs34(yvy4000, yvy3000, ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_@0, eae) → new_esEs25(yvy4000, yvy3000)
new_ltEs21(yvy160, yvy161, ty_Int) → new_ltEs7(yvy160, yvy161)
new_lt8(yvy193, yvy196, ty_Int) → new_lt11(yvy193, yvy196)
new_ltEs5(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), cad, cae, caf) → new_pePe(new_lt22(yvy1600, yvy1610, cad), new_asAs(new_esEs39(yvy1600, yvy1610, cad), new_pePe(new_lt23(yvy1601, yvy1611, cae), new_asAs(new_esEs40(yvy1601, yvy1611, cae), new_ltEs24(yvy1602, yvy1612, caf)))))
new_esEs33(yvy4001, yvy3001, app(app(ty_Either, dff), dfg)) → new_esEs13(yvy4001, yvy3001, dff, dfg)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_lt8(yvy193, yvy196, ty_@0) → new_lt15(yvy193, yvy196)
new_not(True) → False
new_compare210(yvy205, yvy206, yvy207, yvy208, True, ehb, ehc) → EQ
new_ltEs23(yvy206, yvy208, ty_Float) → new_ltEs12(yvy206, yvy208)
new_esEs29(yvy4002, yvy3002, ty_Int) → new_esEs16(yvy4002, yvy3002)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, app(ty_Ratio, fhb)) → new_esEs14(yvy4000, yvy3000, fhb)
new_ltEs8(yvy160, yvy161) → new_fsEs(new_compare9(yvy160, yvy161))
new_esEs20(True, True) → True
new_lt5(yvy40, yvy30) → new_esEs26(new_compare8(yvy40, yvy30))
new_ltEs21(yvy160, yvy161, ty_@0) → new_ltEs11(yvy160, yvy161)
new_ltEs13(Just(yvy1600), Just(yvy1610), app(ty_[], gbb)) → new_ltEs15(yvy1600, yvy1610, gbb)
new_esEs8(yvy401, yvy301, ty_Bool) → new_esEs20(yvy401, yvy301)
new_compare16(Right(yvy400), Right(yvy300), ce, cf) → new_compare25(yvy400, yvy300, new_esEs10(yvy400, yvy300, cf), ce, cf)
new_ltEs10(False, True) → True
new_esEs28(yvy4001, yvy3001, app(ty_[], dca)) → new_esEs15(yvy4001, yvy3001, dca)
new_compare15(yvy245, yvy246, True, bfb, bfc) → LT
new_lt22(yvy1600, yvy1610, app(ty_Ratio, fda)) → new_lt6(yvy1600, yvy1610, fda)
new_lt25(yvy40, yvy30, ty_@0) → new_lt15(yvy40, yvy30)
new_esEs32(yvy4000, yvy3000, app(app(app(ty_@3, dfc), dfd), dfe)) → new_esEs24(yvy4000, yvy3000, dfc, dfd, dfe)
new_gt14(yvy35, yvy30, ty_Int) → new_gt3(yvy35, yvy30)
new_lt22(yvy1600, yvy1610, app(app(ty_@2, fcc), fcd)) → new_lt13(yvy1600, yvy1610, fcc, fcd)
new_esEs27(yvy4000, yvy3000, ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_esEs28(yvy4001, yvy3001, ty_Float) → new_esEs21(yvy4001, yvy3001)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(ty_Ratio, eb), dc) → new_ltEs17(yvy1600, yvy1610, eb)
new_ltEs24(yvy1602, yvy1612, ty_Ordering) → new_ltEs6(yvy1602, yvy1612)
new_esEs39(yvy1600, yvy1610, ty_Int) → new_esEs16(yvy1600, yvy1610)
new_esEs5(yvy401, yvy301, ty_Int) → new_esEs16(yvy401, yvy301)
new_primMulNat0(Zero, Zero) → Zero
new_lt21(yvy205, yvy207, ty_Double) → new_lt12(yvy205, yvy207)
new_ltEs20(yvy174, yvy175, ty_Float) → new_ltEs12(yvy174, yvy175)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, ty_Bool) → new_ltEs10(yvy1600, yvy1610)
new_lt23(yvy1601, yvy1611, app(ty_[], feb)) → new_lt4(yvy1601, yvy1611, feb)
new_ltEs20(yvy174, yvy175, ty_@0) → new_ltEs11(yvy174, yvy175)
new_ltEs13(Nothing, Just(yvy1610), cba) → True
new_ltEs24(yvy1602, yvy1612, ty_Char) → new_ltEs16(yvy1602, yvy1612)
new_gt14(yvy35, yvy30, ty_Bool) → new_gt9(yvy35, yvy30)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Integer) → new_ltEs14(yvy1600, yvy1610)
new_esEs4(yvy400, yvy300, app(ty_[], eag)) → new_esEs15(yvy400, yvy300, eag)
new_esEs35(yvy1600, yvy1610, ty_Float) → new_esEs21(yvy1600, yvy1610)
new_esEs21(Float(yvy4000, yvy4001), Float(yvy3000, yvy3001)) → new_esEs16(new_sr0(yvy4000, yvy3000), new_sr0(yvy4001, yvy3001))
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_Float) → new_esEs21(yvy4000, yvy3000)
new_esEs36(yvy205, yvy207, app(app(ty_Either, faa), fab)) → new_esEs13(yvy205, yvy207, faa, fab)
new_esEs6(yvy402, yvy302, ty_Ordering) → new_esEs19(yvy402, yvy302)
new_ltEs23(yvy206, yvy208, app(app(ty_Either, fbc), fbd)) → new_ltEs4(yvy206, yvy208, fbc, fbd)
new_compare28(Just(yvy400), Just(yvy300), bdg) → new_compare26(yvy400, yvy300, new_esEs11(yvy400, yvy300, bdg), bdg)
new_compare28(Nothing, Nothing, bdg) → EQ
new_ltEs13(Just(yvy1600), Just(yvy1610), app(app(ty_Either, gag), gah)) → new_ltEs4(yvy1600, yvy1610, gag, gah)
new_esEs32(yvy4000, yvy3000, ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_compare16(Left(yvy400), Left(yvy300), ce, cf) → new_compare211(yvy400, yvy300, new_esEs9(yvy400, yvy300, ce), ce, cf)
new_esEs4(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_esEs10(yvy400, yvy300, app(ty_[], cee)) → new_esEs15(yvy400, yvy300, cee)
new_esEs30(yvy192, yvy195, ty_Ordering) → new_esEs19(yvy192, yvy195)
new_gt14(yvy35, yvy30, app(ty_Maybe, ccc)) → new_gt11(yvy35, yvy30, ccc)
new_esEs9(yvy400, yvy300, app(ty_[], cdc)) → new_esEs15(yvy400, yvy300, cdc)
new_esEs38(yvy4001, yvy3001, ty_Integer) → new_esEs17(yvy4001, yvy3001)
new_compare210(yvy205, yvy206, yvy207, yvy208, False, ehb, ehc) → new_compare110(yvy205, yvy206, yvy207, yvy208, new_lt21(yvy205, yvy207, ehb), new_asAs(new_esEs36(yvy205, yvy207, ehb), new_ltEs23(yvy206, yvy208, ehc)), ehb, ehc)
new_ltEs18(yvy194, yvy197, ty_Bool) → new_ltEs10(yvy194, yvy197)
new_lt8(yvy193, yvy196, app(ty_Ratio, baf)) → new_lt6(yvy193, yvy196, baf)
new_esEs32(yvy4000, yvy3000, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_compare31(yvy400, yvy300, ty_Char) → new_compare30(yvy400, yvy300)
new_esEs28(yvy4001, yvy3001, ty_Ordering) → new_esEs19(yvy4001, yvy3001)
new_lt20(yvy1600, yvy1610, ty_Float) → new_lt17(yvy1600, yvy1610)
new_esEs17(Integer(yvy4000), Integer(yvy3000)) → new_primEqInt(yvy4000, yvy3000)
new_lt20(yvy1600, yvy1610, ty_Bool) → new_lt14(yvy1600, yvy1610)
new_compare18(EQ, EQ) → EQ
new_lt7(yvy192, yvy195, ty_Bool) → new_lt14(yvy192, yvy195)
new_gt11(yvy40, yvy30, bdg) → new_esEs41(new_compare28(yvy40, yvy30, bdg))
new_gt14(yvy35, yvy30, ty_@0) → new_gt10(yvy35, yvy30)
new_lt22(yvy1600, yvy1610, ty_Char) → new_lt19(yvy1600, yvy1610)
new_ltEs22(yvy1601, yvy1611, app(ty_Maybe, egg)) → new_ltEs13(yvy1601, yvy1611, egg)
new_esEs8(yvy401, yvy301, app(app(app(ty_@3, bhg), bhh), caa)) → new_esEs24(yvy401, yvy301, bhg, bhh, caa)
new_ltEs21(yvy160, yvy161, ty_Double) → new_ltEs8(yvy160, yvy161)
new_compare31(yvy400, yvy300, app(app(ty_@2, cfg), cfh)) → new_compare29(yvy400, yvy300, cfg, cfh)
new_compare11(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, False, bg, bh, ca) → GT
new_esEs11(yvy400, yvy300, app(ty_Maybe, bef)) → new_esEs12(yvy400, yvy300, bef)
new_esEs40(yvy1601, yvy1611, app(ty_Ratio, fec)) → new_esEs14(yvy1601, yvy1611, fec)
new_compare12(True, True) → EQ
new_lt9(yvy40, yvy30, cb, cc, cd) → new_esEs26(new_compare17(yvy40, yvy30, cb, cc, cd))
new_ltEs4(Left(yvy1600), Left(yvy1610), app(ty_Maybe, dh), dc) → new_ltEs13(yvy1600, yvy1610, dh)
new_esEs11(yvy400, yvy300, app(ty_[], bec)) → new_esEs15(yvy400, yvy300, bec)
new_esEs11(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_ltEs4(Left(yvy1600), Right(yvy1610), ec, dc) → True
new_ltEs19(yvy167, yvy168, ty_Int) → new_ltEs7(yvy167, yvy168)
new_compare18(GT, GT) → EQ
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_esEs38(yvy4001, yvy3001, ty_Int) → new_esEs16(yvy4001, yvy3001)
new_esEs39(yvy1600, yvy1610, ty_Bool) → new_esEs20(yvy1600, yvy1610)
new_gt5(yvy40, yvy30, bca) → new_esEs41(new_compare6(yvy40, yvy30, bca))
new_esEs36(yvy205, yvy207, ty_Bool) → new_esEs20(yvy205, yvy207)
new_lt20(yvy1600, yvy1610, ty_@0) → new_lt15(yvy1600, yvy1610)
new_lt20(yvy1600, yvy1610, ty_Char) → new_lt19(yvy1600, yvy1610)
new_esEs10(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_esEs8(yvy401, yvy301, ty_Float) → new_esEs21(yvy401, yvy301)
new_esEs30(yvy192, yvy195, app(ty_Maybe, hb)) → new_esEs12(yvy192, yvy195, hb)
new_esEs29(yvy4002, yvy3002, ty_Ordering) → new_esEs19(yvy4002, yvy3002)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Char) → new_ltEs16(yvy1600, yvy1610)
new_compare18(LT, GT) → LT
new_esEs27(yvy4000, yvy3000, app(ty_Maybe, dbb)) → new_esEs12(yvy4000, yvy3000, dbb)
new_gt10(yvy40, yvy30) → new_esEs41(new_compare27(yvy40, yvy30))
new_esEs32(yvy4000, yvy3000, ty_Char) → new_esEs23(yvy4000, yvy3000)
new_esEs7(yvy400, yvy300, app(app(ty_@2, bgb), bgc)) → new_esEs22(yvy400, yvy300, bgb, bgc)
new_lt21(yvy205, yvy207, ty_Bool) → new_lt14(yvy205, yvy207)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, app(app(ty_@2, eg), eh)) → new_ltEs9(yvy1600, yvy1610, eg, eh)
new_compare31(yvy400, yvy300, ty_Ordering) → new_compare18(yvy400, yvy300)
new_esEs33(yvy4001, yvy3001, ty_Int) → new_esEs16(yvy4001, yvy3001)
new_esEs9(yvy400, yvy300, app(app(ty_Either, cch), cda)) → new_esEs13(yvy400, yvy300, cch, cda)
new_esEs9(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_gt14(yvy35, yvy30, ty_Ordering) → new_gt6(yvy35, yvy30)
new_esEs6(yvy402, yvy302, ty_Float) → new_esEs21(yvy402, yvy302)
new_gt8(yvy40, yvy30, bfd, bfe) → new_esEs41(new_compare29(yvy40, yvy30, bfd, bfe))
new_ltEs19(yvy167, yvy168, ty_Ordering) → new_ltEs6(yvy167, yvy168)
new_compare7(yvy40, yvy30) → new_primCmpInt(yvy40, yvy30)
new_esEs30(yvy192, yvy195, ty_@0) → new_esEs25(yvy192, yvy195)
new_esEs8(yvy401, yvy301, ty_Char) → new_esEs23(yvy401, yvy301)
new_esEs33(yvy4001, yvy3001, ty_Bool) → new_esEs20(yvy4001, yvy3001)
new_compare31(yvy400, yvy300, ty_Double) → new_compare9(yvy400, yvy300)
new_esEs5(yvy401, yvy301, app(app(ty_Either, eah), eba)) → new_esEs13(yvy401, yvy301, eah, eba)
new_esEs34(yvy4000, yvy3000, ty_Double) → new_esEs18(yvy4000, yvy3000)
new_esEs31(yvy193, yvy196, app(ty_[], bae)) → new_esEs15(yvy193, yvy196, bae)
new_ltEs18(yvy194, yvy197, ty_Ordering) → new_ltEs6(yvy194, yvy197)
new_esEs29(yvy4002, yvy3002, ty_Float) → new_esEs21(yvy4002, yvy3002)
new_lt23(yvy1601, yvy1611, ty_Bool) → new_lt14(yvy1601, yvy1611)
new_compare110(yvy279, yvy280, yvy281, yvy282, False, yvy284, ccf, ccg) → new_compare111(yvy279, yvy280, yvy281, yvy282, yvy284, ccf, ccg)
new_lt22(yvy1600, yvy1610, app(app(ty_Either, fce), fcf)) → new_lt16(yvy1600, yvy1610, fce, fcf)
new_ltEs20(yvy174, yvy175, app(app(app(ty_@3, bce), bcf), bcg)) → new_ltEs5(yvy174, yvy175, bce, bcf, bcg)
new_esEs10(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_esEs30(yvy192, yvy195, ty_Float) → new_esEs21(yvy192, yvy195)
new_esEs32(yvy4000, yvy3000, app(app(ty_@2, deh), dfa)) → new_esEs22(yvy4000, yvy3000, deh, dfa)
new_ltEs19(yvy167, yvy168, app(ty_Ratio, eac)) → new_ltEs17(yvy167, yvy168, eac)
new_ltEs17(yvy160, yvy161, cbc) → new_fsEs(new_compare6(yvy160, yvy161, cbc))
new_esEs25(@0, @0) → True
new_gt1(yvy40, yvy30, cb, cc, cd) → new_esEs41(new_compare17(yvy40, yvy30, cb, cc, cd))
new_compare111(yvy279, yvy280, yvy281, yvy282, True, ccf, ccg) → LT
new_lt25(yvy40, yvy30, ty_Ordering) → new_lt10(yvy40, yvy30)
new_esEs35(yvy1600, yvy1610, ty_Double) → new_esEs18(yvy1600, yvy1610)
new_lt20(yvy1600, yvy1610, app(ty_Maybe, efe)) → new_lt18(yvy1600, yvy1610, efe)
new_esEs27(yvy4000, yvy3000, ty_Char) → new_esEs23(yvy4000, yvy3000)
new_esEs13(Left(yvy4000), Left(yvy3000), app(app(app(ty_@3, fge), fgf), fgg), eae) → new_esEs24(yvy4000, yvy3000, fge, fgf, fgg)
new_esEs8(yvy401, yvy301, ty_Double) → new_esEs18(yvy401, yvy301)
new_ltEs6(EQ, EQ) → True
new_esEs26(GT) → False
new_ltEs20(yvy174, yvy175, app(ty_Ratio, bdf)) → new_ltEs17(yvy174, yvy175, bdf)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_@0) → new_ltEs11(yvy1600, yvy1610)
new_esEs28(yvy4001, yvy3001, ty_Int) → new_esEs16(yvy4001, yvy3001)
new_esEs5(yvy401, yvy301, app(app(ty_@2, ebd), ebe)) → new_esEs22(yvy401, yvy301, ebd, ebe)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(app(ty_Either, df), dg), dc) → new_ltEs4(yvy1600, yvy1610, df, dg)
new_primEqInt(Neg(Succ(yvy40000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(yvy30000))) → False
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Ordering, eae) → new_esEs19(yvy4000, yvy3000)
new_lt22(yvy1600, yvy1610, app(app(app(ty_@3, fbh), fca), fcb)) → new_lt9(yvy1600, yvy1610, fbh, fca, fcb)
new_gt12(yvy40, yvy30) → new_esEs41(new_compare8(yvy40, yvy30))
new_esEs7(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_compare10(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, True, yvy271, bg, bh, ca) → new_compare11(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, True, bg, bh, ca)
new_esEs39(yvy1600, yvy1610, app(ty_Maybe, fcg)) → new_esEs12(yvy1600, yvy1610, fcg)
new_esEs5(yvy401, yvy301, app(ty_Maybe, ebf)) → new_esEs12(yvy401, yvy301, ebf)
new_ltEs21(yvy160, yvy161, app(app(ty_Either, ec), dc)) → new_ltEs4(yvy160, yvy161, ec, dc)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, app(app(ty_@2, fhd), fhe)) → new_esEs22(yvy4000, yvy3000, fhd, fhe)
new_esEs39(yvy1600, yvy1610, app(ty_Ratio, fda)) → new_esEs14(yvy1600, yvy1610, fda)
new_esEs7(yvy400, yvy300, app(app(app(ty_@3, bge), bgf), bgg)) → new_esEs24(yvy400, yvy300, bge, bgf, bgg)
new_ltEs24(yvy1602, yvy1612, app(app(app(ty_@3, fed), fee), fef)) → new_ltEs5(yvy1602, yvy1612, fed, fee, fef)
new_ltEs19(yvy167, yvy168, ty_@0) → new_ltEs11(yvy167, yvy168)
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Int) → new_esEs16(yvy4000, yvy3000)
new_esEs35(yvy1600, yvy1610, ty_Char) → new_esEs23(yvy1600, yvy1610)
new_compare5(:(yvy400, yvy401), [], bf) → GT
new_lt25(yvy40, yvy30, app(ty_Ratio, bca)) → new_lt6(yvy40, yvy30, bca)
new_esEs29(yvy4002, yvy3002, app(ty_Maybe, ddf)) → new_esEs12(yvy4002, yvy3002, ddf)
new_esEs31(yvy193, yvy196, ty_Double) → new_esEs18(yvy193, yvy196)
new_esEs30(yvy192, yvy195, ty_Int) → new_esEs16(yvy192, yvy195)
new_lt7(yvy192, yvy195, app(ty_Maybe, hb)) → new_lt18(yvy192, yvy195, hb)
new_esEs18(Double(yvy4000, yvy4001), Double(yvy3000, yvy3001)) → new_esEs16(new_sr0(yvy4000, yvy3000), new_sr0(yvy4001, yvy3001))
new_esEs6(yvy402, yvy302, ty_Bool) → new_esEs20(yvy402, yvy302)
new_esEs40(yvy1601, yvy1611, app(app(ty_Either, fdg), fdh)) → new_esEs13(yvy1601, yvy1611, fdg, fdh)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Char, dc) → new_ltEs16(yvy1600, yvy1610)
new_primCompAux00(yvy180, LT) → LT
new_esEs33(yvy4001, yvy3001, app(app(ty_@2, dgb), dgc)) → new_esEs22(yvy4001, yvy3001, dgb, dgc)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, ty_Float) → new_ltEs12(yvy1600, yvy1610)
new_esEs15([], [], eag) → True
new_ltEs23(yvy206, yvy208, ty_Bool) → new_ltEs10(yvy206, yvy208)
new_lt8(yvy193, yvy196, app(ty_[], bae)) → new_lt4(yvy193, yvy196, bae)
new_primEqInt(Pos(Succ(yvy40000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(yvy30000))) → False
new_lt8(yvy193, yvy196, app(app(ty_@2, hh), baa)) → new_lt13(yvy193, yvy196, hh, baa)
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_esEs33(yvy4001, yvy3001, app(app(app(ty_@3, dge), dgf), dgg)) → new_esEs24(yvy4001, yvy3001, dge, dgf, dgg)
new_esEs5(yvy401, yvy301, ty_Ordering) → new_esEs19(yvy401, yvy301)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_ltEs21(yvy160, yvy161, app(ty_Ratio, cbc)) → new_ltEs17(yvy160, yvy161, cbc)
new_esEs36(yvy205, yvy207, ty_Double) → new_esEs18(yvy205, yvy207)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_esEs34(yvy4000, yvy3000, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_lt25(yvy40, yvy30, app(ty_[], bf)) → new_lt4(yvy40, yvy30, bf)
new_esEs7(yvy400, yvy300, app(ty_Maybe, bgd)) → new_esEs12(yvy400, yvy300, bgd)
new_primEqInt(Pos(Succ(yvy40000)), Neg(yvy3000)) → False
new_primEqInt(Neg(Succ(yvy40000)), Pos(yvy3000)) → False
new_esEs8(yvy401, yvy301, app(app(ty_Either, bgh), bha)) → new_esEs13(yvy401, yvy301, bgh, bha)
new_esEs35(yvy1600, yvy1610, ty_Int) → new_esEs16(yvy1600, yvy1610)
new_esEs20(False, False) → True
new_esEs12(Just(yvy4000), Just(yvy3000), app(app(app(ty_@3, chf), chg), chh)) → new_esEs24(yvy4000, yvy3000, chf, chg, chh)
new_ltEs24(yvy1602, yvy1612, ty_Bool) → new_ltEs10(yvy1602, yvy1612)
new_lt20(yvy1600, yvy1610, app(app(ty_@2, efa), efb)) → new_lt13(yvy1600, yvy1610, efa, efb)
new_ltEs19(yvy167, yvy168, app(app(ty_@2, dhe), dhf)) → new_ltEs9(yvy167, yvy168, dhe, dhf)
new_compare18(EQ, LT) → GT
new_lt18(yvy40, yvy30, bdg) → new_esEs26(new_compare28(yvy40, yvy30, bdg))
new_esEs10(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_lt23(yvy1601, yvy1611, ty_Char) → new_lt19(yvy1601, yvy1611)
new_ltEs18(yvy194, yvy197, app(app(ty_@2, bbb), bbc)) → new_ltEs9(yvy194, yvy197, bbb, bbc)
new_lt20(yvy1600, yvy1610, app(app(app(ty_@3, eef), eeg), eeh)) → new_lt9(yvy1600, yvy1610, eef, eeg, eeh)
new_lt23(yvy1601, yvy1611, app(app(app(ty_@3, fdb), fdc), fdd)) → new_lt9(yvy1601, yvy1611, fdb, fdc, fdd)
new_ltEs23(yvy206, yvy208, ty_@0) → new_ltEs11(yvy206, yvy208)
new_esEs9(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_esEs41(EQ) → False
new_esEs40(yvy1601, yvy1611, ty_@0) → new_esEs25(yvy1601, yvy1611)
new_esEs5(yvy401, yvy301, app(app(app(ty_@3, ebg), ebh), eca)) → new_esEs24(yvy401, yvy301, ebg, ebh, eca)
new_lt15(yvy40, yvy30) → new_esEs26(new_compare27(yvy40, yvy30))
new_compare26(yvy174, yvy175, True, bcd) → EQ
new_ltEs23(yvy206, yvy208, ty_Double) → new_ltEs8(yvy206, yvy208)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, ty_Char) → new_ltEs16(yvy1600, yvy1610)
new_lt23(yvy1601, yvy1611, ty_Float) → new_lt17(yvy1601, yvy1611)
new_esEs11(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Ordering) → new_ltEs6(yvy1600, yvy1610)
new_ltEs4(Right(yvy1600), Left(yvy1610), ec, dc) → False
new_ltEs23(yvy206, yvy208, app(ty_Ratio, fbg)) → new_ltEs17(yvy206, yvy208, fbg)
new_esEs10(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_esEs33(yvy4001, yvy3001, ty_Double) → new_esEs18(yvy4001, yvy3001)
new_esEs8(yvy401, yvy301, ty_Ordering) → new_esEs19(yvy401, yvy301)
new_esEs40(yvy1601, yvy1611, ty_Integer) → new_esEs17(yvy1601, yvy1611)
new_esEs6(yvy402, yvy302, app(app(ty_@2, ecf), ecg)) → new_esEs22(yvy402, yvy302, ecf, ecg)
new_ltEs24(yvy1602, yvy1612, ty_Float) → new_ltEs12(yvy1602, yvy1612)
new_esEs31(yvy193, yvy196, app(ty_Ratio, baf)) → new_esEs14(yvy193, yvy196, baf)
new_esEs36(yvy205, yvy207, ty_Int) → new_esEs16(yvy205, yvy207)
new_lt21(yvy205, yvy207, app(app(app(ty_@3, ehd), ehe), ehf)) → new_lt9(yvy205, yvy207, ehd, ehe, ehf)
new_esEs4(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_esEs19(LT, GT) → False
new_esEs19(GT, LT) → False
new_ltEs19(yvy167, yvy168, app(ty_[], eab)) → new_ltEs15(yvy167, yvy168, eab)
new_lt21(yvy205, yvy207, ty_Char) → new_lt19(yvy205, yvy207)
new_lt6(yvy40, yvy30, bca) → new_esEs26(new_compare6(yvy40, yvy30, bca))
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_primMulInt(Pos(yvy4000), Pos(yvy3000)) → Pos(new_primMulNat0(yvy4000, yvy3000))
new_gt3(yvy40, yvy30) → new_esEs41(new_compare7(yvy40, yvy30))
new_compare31(yvy400, yvy300, ty_Bool) → new_compare12(yvy400, yvy300)
new_esEs6(yvy402, yvy302, app(app(app(ty_@3, eda), edb), edc)) → new_esEs24(yvy402, yvy302, eda, edb, edc)
new_esEs10(yvy400, yvy300, app(app(ty_Either, ceb), cec)) → new_esEs13(yvy400, yvy300, ceb, cec)
new_lt8(yvy193, yvy196, ty_Float) → new_lt17(yvy193, yvy196)
new_esEs4(yvy400, yvy300, app(ty_Ratio, eaf)) → new_esEs14(yvy400, yvy300, eaf)
new_primPlusNat0(Zero, Zero) → Zero
new_ltEs6(LT, LT) → True
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs36(yvy205, yvy207, ty_@0) → new_esEs25(yvy205, yvy207)
new_esEs5(yvy401, yvy301, ty_Double) → new_esEs18(yvy401, yvy301)
new_lt8(yvy193, yvy196, ty_Bool) → new_lt14(yvy193, yvy196)
new_lt12(yvy40, yvy30) → new_esEs26(new_compare9(yvy40, yvy30))
new_lt23(yvy1601, yvy1611, ty_Double) → new_lt12(yvy1601, yvy1611)
new_esEs9(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_compare19(Float(yvy400, yvy401), Float(yvy300, yvy301)) → new_compare7(new_sr0(yvy400, yvy300), new_sr0(yvy401, yvy301))
new_ltEs21(yvy160, yvy161, app(app(app(ty_@3, cad), cae), caf)) → new_ltEs5(yvy160, yvy161, cad, cae, caf)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Integer, dc) → new_ltEs14(yvy1600, yvy1610)
new_ltEs24(yvy1602, yvy1612, app(ty_Maybe, ffc)) → new_ltEs13(yvy1602, yvy1612, ffc)
new_compare13(yvy252, yvy253, False, fg) → GT
new_ltEs18(yvy194, yvy197, app(app(app(ty_@3, bag), bah), bba)) → new_ltEs5(yvy194, yvy197, bag, bah, bba)
new_ltEs12(yvy160, yvy161) → new_fsEs(new_compare19(yvy160, yvy161))
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_esEs36(yvy205, yvy207, app(app(ty_@2, ehg), ehh)) → new_esEs22(yvy205, yvy207, ehg, ehh)
new_sr0(yvy400, yvy300) → new_primMulInt(yvy400, yvy300)
new_ltEs22(yvy1601, yvy1611, ty_Integer) → new_ltEs14(yvy1601, yvy1611)
new_compare15(yvy245, yvy246, False, bfb, bfc) → GT
new_esEs36(yvy205, yvy207, app(app(app(ty_@3, ehd), ehe), ehf)) → new_esEs24(yvy205, yvy207, ehd, ehe, ehf)
new_ltEs15(yvy160, yvy161, cbb) → new_fsEs(new_compare5(yvy160, yvy161, cbb))
new_esEs34(yvy4000, yvy3000, ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_@0) → new_esEs25(yvy4000, yvy3000)
new_esEs19(EQ, GT) → False
new_esEs19(GT, EQ) → False
new_lt13(yvy40, yvy30, bfd, bfe) → new_esEs26(new_compare29(yvy40, yvy30, bfd, bfe))
new_ltEs13(Just(yvy1600), Just(yvy1610), app(ty_Maybe, gba)) → new_ltEs13(yvy1600, yvy1610, gba)
new_esEs33(yvy4001, yvy3001, app(ty_Maybe, dgd)) → new_esEs12(yvy4001, yvy3001, dgd)
new_esEs35(yvy1600, yvy1610, app(ty_Ratio, efg)) → new_esEs14(yvy1600, yvy1610, efg)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Double) → new_esEs18(yvy4000, yvy3000)
new_esEs27(yvy4000, yvy3000, ty_Double) → new_esEs18(yvy4000, yvy3000)
new_ltEs9(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), cag, cah) → new_pePe(new_lt20(yvy1600, yvy1610, cag), new_asAs(new_esEs35(yvy1600, yvy1610, cag), new_ltEs22(yvy1601, yvy1611, cah)))
new_ltEs13(Just(yvy1600), Nothing, cba) → False
new_esEs27(yvy4000, yvy3000, app(ty_Ratio, daf)) → new_esEs14(yvy4000, yvy3000, daf)
new_esEs28(yvy4001, yvy3001, ty_Bool) → new_esEs20(yvy4001, yvy3001)
new_lt22(yvy1600, yvy1610, ty_Ordering) → new_lt10(yvy1600, yvy1610)
new_lt7(yvy192, yvy195, ty_Integer) → new_lt5(yvy192, yvy195)
new_esEs10(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Char, eae) → new_esEs23(yvy4000, yvy3000)
new_esEs11(yvy400, yvy300, app(app(ty_@2, bed), bee)) → new_esEs22(yvy400, yvy300, bed, bee)
new_esEs8(yvy401, yvy301, ty_Integer) → new_esEs17(yvy401, yvy301)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primMulNat0(Succ(yvy40000), Zero) → Zero
new_esEs35(yvy1600, yvy1610, ty_Bool) → new_esEs20(yvy1600, yvy1610)
new_lt21(yvy205, yvy207, ty_Int) → new_lt11(yvy205, yvy207)
new_esEs33(yvy4001, yvy3001, ty_Ordering) → new_esEs19(yvy4001, yvy3001)
new_esEs31(yvy193, yvy196, ty_Ordering) → new_esEs19(yvy193, yvy196)
new_lt10(yvy40, yvy30) → new_esEs26(new_compare18(yvy40, yvy30))
new_ltEs19(yvy167, yvy168, ty_Char) → new_ltEs16(yvy167, yvy168)
new_esEs4(yvy400, yvy300, app(ty_Maybe, cgf)) → new_esEs12(yvy400, yvy300, cgf)
new_ltEs23(yvy206, yvy208, ty_Char) → new_ltEs16(yvy206, yvy208)
new_esEs32(yvy4000, yvy3000, ty_Double) → new_esEs18(yvy4000, yvy3000)
new_esEs6(yvy402, yvy302, ty_Double) → new_esEs18(yvy402, yvy302)
new_esEs4(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_esEs4(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_compare12(False, False) → EQ
new_compare6(:%(yvy400, yvy401), :%(yvy300, yvy301), ty_Int) → new_compare7(new_sr0(yvy400, yvy301), new_sr0(yvy300, yvy401))
new_lt23(yvy1601, yvy1611, app(app(ty_@2, fde), fdf)) → new_lt13(yvy1601, yvy1611, fde, fdf)
new_esEs8(yvy401, yvy301, ty_Int) → new_esEs16(yvy401, yvy301)
new_ltEs14(yvy160, yvy161) → new_fsEs(new_compare8(yvy160, yvy161))
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Double, eae) → new_esEs18(yvy4000, yvy3000)
new_lt21(yvy205, yvy207, ty_@0) → new_lt15(yvy205, yvy207)
new_compare211(yvy160, yvy161, True, cab, cac) → EQ
new_lt8(yvy193, yvy196, ty_Char) → new_lt19(yvy193, yvy196)
new_esEs41(LT) → False
new_ltEs19(yvy167, yvy168, app(app(app(ty_@3, dhb), dhc), dhd)) → new_ltEs5(yvy167, yvy168, dhb, dhc, dhd)
new_esEs34(yvy4000, yvy3000, ty_Char) → new_esEs23(yvy4000, yvy3000)
new_esEs13(Left(yvy4000), Left(yvy3000), app(ty_[], fga), eae) → new_esEs15(yvy4000, yvy3000, fga)
new_compare16(Right(yvy400), Left(yvy300), ce, cf) → GT
new_esEs11(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_ltEs20(yvy174, yvy175, app(ty_[], bde)) → new_ltEs15(yvy174, yvy175, bde)
new_ltEs19(yvy167, yvy168, app(ty_Maybe, eaa)) → new_ltEs13(yvy167, yvy168, eaa)
new_esEs40(yvy1601, yvy1611, app(ty_Maybe, fea)) → new_esEs12(yvy1601, yvy1611, fea)
new_esEs8(yvy401, yvy301, app(ty_Ratio, bhb)) → new_esEs14(yvy401, yvy301, bhb)
new_esEs9(yvy400, yvy300, app(app(app(ty_@3, cdg), cdh), cea)) → new_esEs24(yvy400, yvy300, cdg, cdh, cea)
new_esEs9(yvy400, yvy300, app(ty_Maybe, cdf)) → new_esEs12(yvy400, yvy300, cdf)
new_lt7(yvy192, yvy195, ty_@0) → new_lt15(yvy192, yvy195)
new_gt7(yvy40, yvy30) → new_esEs41(new_compare9(yvy40, yvy30))
new_ltEs20(yvy174, yvy175, ty_Double) → new_ltEs8(yvy174, yvy175)
new_compare26(yvy174, yvy175, False, bcd) → new_compare13(yvy174, yvy175, new_ltEs20(yvy174, yvy175, bcd), bcd)
new_compare18(LT, LT) → EQ
new_esEs36(yvy205, yvy207, ty_Ordering) → new_esEs19(yvy205, yvy207)
new_lt22(yvy1600, yvy1610, ty_Double) → new_lt12(yvy1600, yvy1610)
new_lt23(yvy1601, yvy1611, ty_Integer) → new_lt5(yvy1601, yvy1611)
new_ltEs23(yvy206, yvy208, app(ty_Maybe, fbe)) → new_ltEs13(yvy206, yvy208, fbe)
new_esEs35(yvy1600, yvy1610, app(app(ty_Either, efc), efd)) → new_esEs13(yvy1600, yvy1610, efc, efd)
new_ltEs22(yvy1601, yvy1611, ty_Bool) → new_ltEs10(yvy1601, yvy1611)
new_lt22(yvy1600, yvy1610, ty_Bool) → new_lt14(yvy1600, yvy1610)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, app(app(app(ty_@3, fhg), fhh), gaa)) → new_esEs24(yvy4000, yvy3000, fhg, fhh, gaa)
new_lt7(yvy192, yvy195, ty_Int) → new_lt11(yvy192, yvy195)
new_primMulNat0(Succ(yvy40000), Succ(yvy30000)) → new_primPlusNat0(new_primMulNat0(yvy40000, Succ(yvy30000)), Succ(yvy30000))
new_esEs10(yvy400, yvy300, app(ty_Ratio, ced)) → new_esEs14(yvy400, yvy300, ced)
new_esEs35(yvy1600, yvy1610, ty_@0) → new_esEs25(yvy1600, yvy1610)
new_esEs35(yvy1600, yvy1610, app(ty_[], eff)) → new_esEs15(yvy1600, yvy1610, eff)
new_compare24(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, True, fh, ga, gb) → EQ
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_esEs11(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_lt20(yvy1600, yvy1610, ty_Ordering) → new_lt10(yvy1600, yvy1610)
new_gt14(yvy35, yvy30, app(app(ty_@2, cbg), cbh)) → new_gt8(yvy35, yvy30, cbg, cbh)
new_lt7(yvy192, yvy195, ty_Char) → new_lt19(yvy192, yvy195)
new_ltEs21(yvy160, yvy161, ty_Integer) → new_ltEs14(yvy160, yvy161)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Char) → new_esEs23(yvy4000, yvy3000)
new_compare24(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, False, fh, ga, gb) → new_compare10(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, new_lt7(yvy192, yvy195, fh), new_asAs(new_esEs30(yvy192, yvy195, fh), new_pePe(new_lt8(yvy193, yvy196, ga), new_asAs(new_esEs31(yvy193, yvy196, ga), new_ltEs18(yvy194, yvy197, gb)))), fh, ga, gb)
new_lt7(yvy192, yvy195, app(app(ty_Either, gh), ha)) → new_lt16(yvy192, yvy195, gh, ha)
new_ltEs13(Just(yvy1600), Just(yvy1610), app(ty_Ratio, gbc)) → new_ltEs17(yvy1600, yvy1610, gbc)
new_compare27(@0, @0) → EQ
new_compare30(Char(yvy400), Char(yvy300)) → new_primCmpNat0(yvy400, yvy300)
new_compare31(yvy400, yvy300, ty_Int) → new_compare7(yvy400, yvy300)
new_esEs31(yvy193, yvy196, ty_Float) → new_esEs21(yvy193, yvy196)
new_esEs11(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_esEs31(yvy193, yvy196, ty_Char) → new_esEs23(yvy193, yvy196)
new_esEs28(yvy4001, yvy3001, app(ty_Maybe, dcd)) → new_esEs12(yvy4001, yvy3001, dcd)
new_esEs23(Char(yvy4000), Char(yvy3000)) → new_primEqNat0(yvy4000, yvy3000)
new_esEs31(yvy193, yvy196, app(app(ty_Either, bab), bac)) → new_esEs13(yvy193, yvy196, bab, bac)
new_lt16(yvy40, yvy30, ce, cf) → new_esEs26(new_compare16(yvy40, yvy30, ce, cf))
new_compare18(LT, EQ) → LT
new_ltEs24(yvy1602, yvy1612, app(app(ty_Either, ffa), ffb)) → new_ltEs4(yvy1602, yvy1612, ffa, ffb)
new_esEs36(yvy205, yvy207, ty_Float) → new_esEs21(yvy205, yvy207)
new_esEs31(yvy193, yvy196, ty_Int) → new_esEs16(yvy193, yvy196)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_esEs29(yvy4002, yvy3002, app(ty_Ratio, ddb)) → new_esEs14(yvy4002, yvy3002, ddb)
new_gt14(yvy35, yvy30, app(ty_Ratio, cce)) → new_gt5(yvy35, yvy30, cce)
new_ltEs21(yvy160, yvy161, app(app(ty_@2, cag), cah)) → new_ltEs9(yvy160, yvy161, cag, cah)
new_lt7(yvy192, yvy195, ty_Float) → new_lt17(yvy192, yvy195)
new_primCompAux00(yvy180, GT) → GT
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs39(yvy1600, yvy1610, ty_@0) → new_esEs25(yvy1600, yvy1610)
new_lt8(yvy193, yvy196, app(app(ty_Either, bab), bac)) → new_lt16(yvy193, yvy196, bab, bac)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(app(app(ty_@3, cg), da), db), dc) → new_ltEs5(yvy1600, yvy1610, cg, da, db)
new_esEs39(yvy1600, yvy1610, ty_Double) → new_esEs18(yvy1600, yvy1610)
new_ltEs23(yvy206, yvy208, app(app(app(ty_@3, faf), fag), fah)) → new_ltEs5(yvy206, yvy208, faf, fag, fah)
new_esEs5(yvy401, yvy301, app(ty_Ratio, ebb)) → new_esEs14(yvy401, yvy301, ebb)
new_esEs33(yvy4001, yvy3001, ty_@0) → new_esEs25(yvy4001, yvy3001)
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_lt23(yvy1601, yvy1611, ty_@0) → new_lt15(yvy1601, yvy1611)
new_lt21(yvy205, yvy207, ty_Float) → new_lt17(yvy205, yvy207)
new_lt7(yvy192, yvy195, ty_Ordering) → new_lt10(yvy192, yvy195)
new_esEs34(yvy4000, yvy3000, app(app(ty_Either, edd), ede)) → new_esEs13(yvy4000, yvy3000, edd, ede)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, app(app(app(ty_@3, ed), ee), ef)) → new_ltEs5(yvy1600, yvy1610, ed, ee, ef)

The set Q consists of the following terms:

new_esEs7(x0, x1, ty_Char)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs40(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_@0)
new_lt23(x0, x1, ty_@0)
new_lt20(x0, x1, ty_Bool)
new_esEs15([], [], x0)
new_esEs13(Left(x0), Left(x1), ty_Bool, x2)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs32(x0, x1, ty_Char)
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs13(Nothing, Nothing, x0)
new_esEs9(x0, x1, ty_Integer)
new_esEs8(x0, x1, ty_Int)
new_esEs13(Left(x0), Left(x1), ty_Int, x2)
new_lt21(x0, x1, ty_Double)
new_esEs33(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs11(x0, x1)
new_lt7(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, ty_Ordering)
new_esEs8(x0, x1, ty_Double)
new_esEs39(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(x0, x1, app(ty_Maybe, x2))
new_gt13(x0, x1)
new_esEs33(x0, x1, ty_@0)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Char)
new_gt14(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_gt14(x0, x1, ty_Float)
new_esEs12(Just(x0), Nothing, x1)
new_ltEs21(x0, x1, ty_Ordering)
new_compare31(x0, x1, ty_@0)
new_esEs4(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Integer)
new_ltEs24(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, ty_Integer)
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs18(x0, x1, ty_Ordering)
new_ltEs23(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_@0)
new_esEs12(Just(x0), Just(x1), ty_Bool)
new_ltEs15(x0, x1, x2)
new_esEs35(x0, x1, ty_Float)
new_esEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs36(x0, x1, ty_@0)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(ty_[], x2))
new_gt14(x0, x1, ty_Int)
new_lt22(x0, x1, ty_Bool)
new_esEs33(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, ty_Char)
new_gt14(x0, x1, app(ty_[], x2))
new_esEs35(x0, x1, ty_Int)
new_ltEs6(EQ, EQ)
new_primCompAux00(x0, EQ)
new_esEs5(x0, x1, app(ty_[], x2))
new_esEs40(x0, x1, ty_@0)
new_ltEs17(x0, x1, x2)
new_esEs8(x0, x1, ty_Bool)
new_compare11(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_ltEs6(LT, EQ)
new_compare5([], :(x0, x1), x2)
new_ltEs6(EQ, LT)
new_esEs11(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, ty_Float)
new_lt23(x0, x1, ty_Integer)
new_primEqNat0(Zero, Zero)
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs39(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_lt25(x0, x1, ty_Bool)
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs4(x0, x1, app(ty_[], x2))
new_ltEs22(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_Float)
new_ltEs23(x0, x1, ty_Int)
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs33(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(x0, x1, ty_Integer)
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_Double)
new_compare28(Just(x0), Nothing, x1)
new_esEs33(x0, x1, ty_Ordering)
new_lt7(x0, x1, app(ty_Maybe, x2))
new_primMulNat0(Zero, Zero)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs13(Right(x0), Right(x1), x2, ty_Int)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_compare18(LT, LT)
new_esEs35(x0, x1, app(app(ty_@2, x2), x3))
new_lt8(x0, x1, ty_Char)
new_primMulNat0(Succ(x0), Succ(x1))
new_compare26(x0, x1, False, x2)
new_lt25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, ty_Float)
new_esEs35(x0, x1, ty_Ordering)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs13(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs30(x0, x1, ty_Float)
new_ltEs24(x0, x1, app(ty_Maybe, x2))
new_ltEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(LT, LT)
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_esEs20(True, True)
new_primEqNat0(Zero, Succ(x0))
new_esEs13(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs13(Right(x0), Right(x1), x2, ty_Double)
new_lt22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs12(Just(x0), Just(x1), ty_Char)
new_compare24(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_esEs9(x0, x1, ty_@0)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_esEs35(x0, x1, ty_Integer)
new_esEs9(x0, x1, app(ty_[], x2))
new_gt8(x0, x1, x2, x3)
new_lt22(x0, x1, app(ty_Ratio, x2))
new_lt25(x0, x1, ty_Ordering)
new_ltEs13(Just(x0), Just(x1), ty_Float)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, ty_Bool)
new_esEs7(x0, x1, ty_Int)
new_ltEs7(x0, x1)
new_esEs13(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs33(x0, x1, app(ty_Ratio, x2))
new_esEs12(Just(x0), Just(x1), app(ty_[], x2))
new_primMulNat0(Succ(x0), Zero)
new_ltEs22(x0, x1, ty_Int)
new_ltEs22(x0, x1, ty_Bool)
new_esEs37(x0, x1, ty_Integer)
new_compare24(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_esEs34(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs13(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs20(False, False)
new_esEs38(x0, x1, ty_Integer)
new_compare12(False, False)
new_compare18(GT, GT)
new_esEs40(x0, x1, ty_Ordering)
new_lt8(x0, x1, ty_Integer)
new_esEs39(x0, x1, ty_Double)
new_compare111(x0, x1, x2, x3, False, x4, x5)
new_esEs32(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Char)
new_lt23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(False, False)
new_lt18(x0, x1, x2)
new_lt21(x0, x1, app(ty_Ratio, x2))
new_esEs36(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt25(x0, x1, app(ty_Maybe, x2))
new_esEs13(Right(x0), Right(x1), x2, ty_Integer)
new_lt23(x0, x1, app(ty_Maybe, x2))
new_ltEs13(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt20(x0, x1, ty_Int)
new_ltEs21(x0, x1, ty_Bool)
new_lt21(x0, x1, ty_Char)
new_esEs12(Just(x0), Just(x1), ty_Integer)
new_esEs7(x0, x1, ty_Float)
new_gt1(x0, x1, x2, x3, x4)
new_lt25(x0, x1, app(app(ty_Either, x2), x3))
new_compare16(Left(x0), Left(x1), x2, x3)
new_esEs34(x0, x1, ty_@0)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare110(x0, x1, x2, x3, False, x4, x5, x6)
new_compare31(x0, x1, ty_Bool)
new_lt7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt25(x0, x1, ty_Double)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs6(x0, x1, app(ty_[], x2))
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs39(x0, x1, ty_@0)
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, ty_Int)
new_esEs40(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_esEs40(x0, x1, ty_Integer)
new_compare16(Left(x0), Right(x1), x2, x3)
new_compare16(Right(x0), Left(x1), x2, x3)
new_lt20(x0, x1, ty_Double)
new_esEs32(x0, x1, ty_Int)
new_lt7(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs35(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Int)
new_ltEs24(x0, x1, ty_Double)
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs11(x0, x1, ty_Bool)
new_esEs8(x0, x1, ty_Ordering)
new_esEs32(x0, x1, ty_@0)
new_ltEs18(x0, x1, ty_Bool)
new_lt25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(x0, x1, ty_Float)
new_ltEs5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs8(x0, x1, ty_Char)
new_esEs22(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt5(x0, x1)
new_sr0(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_ltEs13(Just(x0), Just(x1), ty_Bool)
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs33(x0, x1, ty_Int)
new_esEs6(x0, x1, ty_Double)
new_esEs32(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Neg(Zero))
new_lt21(x0, x1, ty_@0)
new_compare5([], [], x0)
new_esEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_primCmpNat0(Zero, Succ(x0))
new_gt14(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_lt8(x0, x1, ty_@0)
new_esEs5(x0, x1, ty_Float)
new_esEs35(x0, x1, app(ty_Maybe, x2))
new_lt8(x0, x1, ty_Ordering)
new_lt7(x0, x1, ty_@0)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs24(x0, x1, ty_Float)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_compare30(Char(x0), Char(x1))
new_esEs6(x0, x1, ty_@0)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt10(x0, x1)
new_esEs30(x0, x1, ty_Integer)
new_esEs4(x0, x1, ty_Bool)
new_compare9(Double(x0, x1), Double(x2, x3))
new_esEs34(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Float)
new_esEs26(LT)
new_ltEs21(x0, x1, ty_Int)
new_gt14(x0, x1, app(ty_Ratio, x2))
new_esEs8(x0, x1, ty_@0)
new_lt25(x0, x1, ty_@0)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs33(x0, x1, ty_Char)
new_ltEs6(LT, LT)
new_gt14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt23(x0, x1, ty_Double)
new_esEs39(x0, x1, app(app(ty_@2, x2), x3))
new_compare31(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Integer)
new_compare13(x0, x1, True, x2)
new_compare31(x0, x1, app(ty_Maybe, x2))
new_ltEs13(Just(x0), Just(x1), ty_Integer)
new_esEs8(x0, x1, ty_Integer)
new_ltEs10(True, True)
new_esEs30(x0, x1, ty_@0)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, ty_Double)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt23(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, ty_Ordering)
new_esEs19(GT, GT)
new_ltEs22(x0, x1, app(ty_[], x2))
new_ltEs9(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs13(Just(x0), Just(x1), ty_@0)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs31(x0, x1, ty_Char)
new_esEs13(Right(x0), Right(x1), x2, ty_@0)
new_lt20(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Double)
new_esEs7(x0, x1, ty_Double)
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Float)
new_lt25(x0, x1, ty_Char)
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_sr(Integer(x0), Integer(x1))
new_lt9(x0, x1, x2, x3, x4)
new_ltEs23(x0, x1, ty_Bool)
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs19(EQ, LT)
new_esEs19(LT, EQ)
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_lt22(x0, x1, ty_Float)
new_not(True)
new_esEs13(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs9(x0, x1, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_lt8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_not(False)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_compare14(x0, x1, False, x2, x3)
new_lt22(x0, x1, ty_Ordering)
new_esEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs12(Just(x0), Just(x1), ty_Double)
new_esEs31(x0, x1, app(ty_[], x2))
new_ltEs6(GT, EQ)
new_ltEs6(EQ, GT)
new_esEs28(x0, x1, ty_Ordering)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs20(x0, x1, ty_Bool)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_lt16(x0, x1, x2, x3)
new_lt15(x0, x1)
new_esEs34(x0, x1, app(ty_Maybe, x2))
new_asAs(False, x0)
new_compare10(x0, x1, x2, x3, x4, x5, True, x6, x7, x8, x9)
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_lt22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs34(x0, x1, ty_Bool)
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, ty_Bool)
new_esEs34(x0, x1, ty_Float)
new_esEs28(x0, x1, ty_Int)
new_esEs13(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs27(x0, x1, ty_Char)
new_gt5(x0, x1, x2)
new_esEs39(x0, x1, ty_Integer)
new_ltEs10(True, False)
new_ltEs10(False, True)
new_lt8(x0, x1, app(ty_[], x2))
new_esEs25(@0, @0)
new_compare15(x0, x1, True, x2, x3)
new_esEs28(x0, x1, ty_Bool)
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_compare27(@0, @0)
new_esEs39(x0, x1, ty_Char)
new_esEs13(Left(x0), Left(x1), ty_Double, x2)
new_ltEs24(x0, x1, ty_Integer)
new_lt8(x0, x1, ty_Int)
new_compare12(True, True)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs5(x0, x1, ty_Bool)
new_esEs12(Just(x0), Just(x1), ty_Int)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs33(x0, x1, ty_Bool)
new_esEs13(Left(x0), Left(x1), ty_@0, x2)
new_esEs34(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(Just(x0), Just(x1), ty_Float)
new_lt21(x0, x1, ty_Bool)
new_esEs15(:(x0, x1), :(x2, x3), x4)
new_esEs36(x0, x1, ty_Char)
new_ltEs19(x0, x1, ty_@0)
new_esEs33(x0, x1, ty_Double)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_ltEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, ty_Int)
new_esEs29(x0, x1, ty_Float)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs39(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_esEs33(x0, x1, ty_Float)
new_esEs4(x0, x1, ty_Int)
new_esEs13(Left(x0), Left(x1), app(ty_[], x2), x3)
new_lt23(x0, x1, ty_Bool)
new_lt6(x0, x1, x2)
new_ltEs23(x0, x1, ty_@0)
new_esEs13(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_compare111(x0, x1, x2, x3, True, x4, x5)
new_esEs36(x0, x1, ty_Float)
new_gt6(x0, x1)
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, ty_Bool)
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_compare28(Just(x0), Just(x1), x2)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare7(x0, x1)
new_compare6(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_lt25(x0, x1, app(ty_Ratio, x2))
new_esEs36(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Double)
new_compare210(x0, x1, x2, x3, True, x4, x5)
new_lt23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs35(x0, x1, ty_Bool)
new_lt21(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs8(x0, x1)
new_compare12(True, False)
new_compare12(False, True)
new_primPlusNat0(Succ(x0), Succ(x1))
new_compare16(Right(x0), Right(x1), x2, x3)
new_gt14(x0, x1, ty_Ordering)
new_compare211(x0, x1, False, x2, x3)
new_lt22(x0, x1, ty_Char)
new_lt14(x0, x1)
new_ltEs19(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Char)
new_pePe(False, x0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_lt23(x0, x1, ty_Ordering)
new_esEs36(x0, x1, ty_Ordering)
new_esEs5(x0, x1, ty_Char)
new_esEs12(Nothing, Nothing, x0)
new_esEs10(x0, x1, ty_Ordering)
new_compare31(x0, x1, ty_Ordering)
new_esEs39(x0, x1, ty_Float)
new_esEs40(x0, x1, ty_Double)
new_gt0(x0, x1, x2)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs10(x0, x1, ty_Char)
new_lt25(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs40(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs13(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_compare25(x0, x1, False, x2, x3)
new_gt14(x0, x1, ty_Double)
new_esEs39(x0, x1, ty_Bool)
new_ltEs20(x0, x1, ty_Ordering)
new_lt7(x0, x1, ty_Int)
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_esEs4(x0, x1, ty_Integer)
new_ltEs22(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, ty_@0)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs13(Left(x0), Left(x1), ty_Char, x2)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_ltEs22(x0, x1, ty_Char)
new_ltEs19(x0, x1, ty_Bool)
new_esEs33(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(x0, x1, ty_Ordering)
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_lt7(x0, x1, ty_Ordering)
new_lt12(x0, x1)
new_gt4(x0, x1)
new_esEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_ltEs20(x0, x1, app(ty_[], x2))
new_primCompAux00(x0, LT)
new_compare31(x0, x1, ty_Float)
new_compare5(:(x0, x1), [], x2)
new_ltEs24(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, ty_Integer)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_primMulInt(Pos(x0), Pos(x1))
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs26(EQ)
new_esEs21(Float(x0, x1), Float(x2, x3))
new_ltEs18(x0, x1, ty_Integer)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs31(x0, x1, ty_Ordering)
new_esEs5(x0, x1, app(app(ty_@2, x2), x3))
new_lt23(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, ty_Double)
new_lt21(x0, x1, app(ty_Maybe, x2))
new_ltEs13(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_@0)
new_ltEs18(x0, x1, ty_Float)
new_gt14(x0, x1, ty_Integer)
new_lt22(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Bool)
new_gt14(x0, x1, ty_Bool)
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_lt8(x0, x1, ty_Double)
new_ltEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Char)
new_esEs36(x0, x1, app(ty_Maybe, x2))
new_lt21(x0, x1, ty_Float)
new_esEs26(GT)
new_compare10(x0, x1, x2, x3, x4, x5, False, x6, x7, x8, x9)
new_esEs29(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Int)
new_esEs5(x0, x1, ty_Double)
new_compare17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_primPlusNat0(Succ(x0), Zero)
new_ltEs12(x0, x1)
new_compare110(x0, x1, x2, x3, True, x4, x5, x6)
new_compare18(LT, EQ)
new_compare18(EQ, LT)
new_esEs34(x0, x1, ty_Int)
new_esEs13(Right(x0), Right(x1), x2, ty_Char)
new_ltEs18(x0, x1, ty_Int)
new_esEs30(x0, x1, ty_Bool)
new_lt23(x0, x1, ty_Int)
new_esEs6(x0, x1, ty_Ordering)
new_lt7(x0, x1, ty_Char)
new_ltEs13(Nothing, Just(x0), x1)
new_lt13(x0, x1, x2, x3)
new_esEs19(GT, EQ)
new_esEs19(EQ, GT)
new_esEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare15(x0, x1, False, x2, x3)
new_compare211(x0, x1, True, x2, x3)
new_esEs13(Left(x0), Left(x1), ty_Integer, x2)
new_esEs35(x0, x1, app(ty_Ratio, x2))
new_esEs6(x0, x1, ty_Bool)
new_esEs32(x0, x1, ty_Ordering)
new_primPlusNat0(Zero, Succ(x0))
new_lt7(x0, x1, ty_Double)
new_ltEs24(x0, x1, ty_Int)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, ty_Float)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt22(x0, x1, ty_Double)
new_esEs5(x0, x1, ty_@0)
new_lt20(x0, x1, ty_Ordering)
new_esEs41(GT)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, app(ty_[], x2))
new_esEs8(x0, x1, ty_Float)
new_esEs13(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs23(x0, x1, app(ty_[], x2))
new_esEs32(x0, x1, app(ty_[], x2))
new_esEs16(x0, x1)
new_esEs7(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, ty_Int)
new_lt8(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_compare18(GT, LT)
new_compare18(LT, GT)
new_esEs36(x0, x1, ty_Int)
new_esEs20(False, True)
new_esEs20(True, False)
new_ltEs24(x0, x1, ty_Bool)
new_esEs15(:(x0, x1), [], x2)
new_esEs28(x0, x1, ty_Char)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs34(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs33(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(ty_[], x2))
new_lt8(x0, x1, app(ty_Maybe, x2))
new_esEs39(x0, x1, app(ty_Ratio, x2))
new_esEs18(Double(x0, x1), Double(x2, x3))
new_esEs9(x0, x1, ty_Ordering)
new_esEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs11(x0, x1, ty_@0)
new_esEs39(x0, x1, ty_Ordering)
new_primPlusNat0(Zero, Zero)
new_pePe(True, x0)
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_ltEs22(x0, x1, ty_Float)
new_esEs29(x0, x1, ty_Integer)
new_esEs36(x0, x1, app(ty_[], x2))
new_gt14(x0, x1, app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, ty_Bool)
new_esEs5(x0, x1, ty_Int)
new_esEs36(x0, x1, ty_Integer)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs29(x0, x1, ty_Int)
new_lt20(x0, x1, ty_Char)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_compare19(Float(x0, x1), Float(x2, x3))
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_esEs34(x0, x1, ty_Integer)
new_ltEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1, ty_Bool)
new_esEs34(x0, x1, app(ty_[], x2))
new_esEs31(x0, x1, ty_Float)
new_esEs41(EQ)
new_esEs35(x0, x1, ty_Char)
new_esEs11(x0, x1, ty_Integer)
new_gt2(x0, x1, x2, x3)
new_ltEs22(x0, x1, ty_@0)
new_esEs36(x0, x1, ty_Bool)
new_esEs34(x0, x1, ty_Double)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_ltEs21(x0, x1, ty_Double)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_lt23(x0, x1, ty_Float)
new_esEs4(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(Just(x0), Just(x1), ty_@0)
new_esEs12(Nothing, Just(x0), x1)
new_compare31(x0, x1, ty_Double)
new_esEs27(x0, x1, ty_Ordering)
new_esEs35(x0, x1, ty_@0)
new_compare5(:(x0, x1), :(x2, x3), x4)
new_ltEs18(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, ty_@0)
new_esEs40(x0, x1, ty_Float)
new_lt22(x0, x1, ty_Integer)
new_esEs39(x0, x1, ty_Int)
new_esEs11(x0, x1, ty_Double)
new_esEs24(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_lt7(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs4(x0, x1, ty_Float)
new_esEs34(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_compare31(x0, x1, app(ty_Ratio, x2))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_esEs32(x0, x1, ty_Double)
new_lt25(x0, x1, ty_Int)
new_compare210(x0, x1, x2, x3, False, x4, x5)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs33(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs22(x0, x1, ty_Integer)
new_gt14(x0, x1, ty_Char)
new_ltEs22(x0, x1, ty_Ordering)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_ltEs21(x0, x1, app(ty_[], x2))
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs40(x0, x1, app(ty_Ratio, x2))
new_esEs4(x0, x1, ty_@0)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs23(x0, x1, app(ty_Ratio, x2))
new_lt22(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_esEs40(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs23(x0, x1, app(ty_Maybe, x2))
new_esEs13(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_lt21(x0, x1, app(ty_[], x2))
new_compare28(Nothing, Nothing, x0)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_lt8(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Float)
new_primMulNat0(Zero, Succ(x0))
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_ltEs23(x0, x1, ty_Float)
new_lt17(x0, x1)
new_compare14(x0, x1, True, x2, x3)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_gt10(x0, x1)
new_lt7(x0, x1, ty_Float)
new_lt22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs32(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), ty_Int)
new_esEs29(x0, x1, app(ty_[], x2))
new_compare29(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs40(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, ty_Double)
new_compare26(x0, x1, True, x2)
new_esEs11(x0, x1, ty_Char)
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(x0, x1, ty_Bool)
new_esEs40(x0, x1, ty_Char)
new_ltEs6(GT, GT)
new_esEs34(x0, x1, ty_Ordering)
new_esEs4(x0, x1, ty_Char)
new_gt3(x0, x1)
new_ltEs23(x0, x1, ty_Integer)
new_esEs23(Char(x0), Char(x1))
new_lt4(x0, x1, x2)
new_ltEs20(x0, x1, ty_@0)
new_primCmpNat0(Succ(x0), Zero)
new_esEs40(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Char)
new_gt14(x0, x1, ty_@0)
new_primCmpNat0(Zero, Zero)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs24(x0, x1, app(ty_Ratio, x2))
new_lt7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs36(x0, x1, app(app(ty_@2, x2), x3))
new_gt7(x0, x1)
new_lt8(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Float)
new_lt25(x0, x1, ty_Integer)
new_ltEs22(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs13(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_compare11(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs13(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_esEs35(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), ty_Char)
new_esEs13(Right(x0), Right(x1), x2, ty_Bool)
new_gt12(x0, x1)
new_lt25(x0, x1, ty_Float)
new_esEs35(x0, x1, ty_Double)
new_esEs37(x0, x1, ty_Int)
new_esEs31(x0, x1, ty_Integer)
new_compare25(x0, x1, True, x2, x3)
new_esEs38(x0, x1, ty_Int)
new_lt23(x0, x1, ty_Char)
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs22(x0, x1, ty_Double)
new_esEs19(EQ, EQ)
new_ltEs22(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs21(x0, x1, ty_@0)
new_esEs13(Right(x0), Right(x1), x2, ty_Float)
new_primCompAux0(x0, x1, x2, x3)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs41(LT)
new_esEs17(Integer(x0), Integer(x1))
new_compare18(EQ, GT)
new_compare18(GT, EQ)
new_ltEs14(x0, x1)
new_esEs36(x0, x1, app(app(ty_Either, x2), x3))
new_compare31(x0, x1, ty_Int)
new_esEs13(Left(x0), Left(x1), ty_Float, x2)
new_lt20(x0, x1, ty_Float)
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_ltEs24(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_@0)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs40(x0, x1, ty_Int)
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs13(Just(x0), Nothing, x1)
new_esEs19(GT, LT)
new_esEs19(LT, GT)
new_ltEs24(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs24(x0, x1, ty_@0)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs13(Just(x0), Just(x1), ty_Ordering)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_compare28(Nothing, Just(x0), x1)
new_ltEs16(x0, x1)
new_lt8(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Succ(x0), Zero)
new_lt8(x0, x1, ty_Float)
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_ltEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs35(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs14(:%(x0, x1), :%(x2, x3), x4)
new_ltEs13(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs7(x0, x1, ty_Ordering)
new_lt21(x0, x1, ty_Int)
new_esEs13(Right(x0), Left(x1), x2, x3)
new_esEs13(Left(x0), Right(x1), x2, x3)
new_esEs30(x0, x1, ty_Char)
new_esEs8(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, ty_Double)
new_lt22(x0, x1, ty_Int)
new_esEs15([], :(x0, x1), x2)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_gt11(x0, x1, x2)
new_esEs5(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, ty_Char)
new_lt22(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_Int)
new_esEs29(x0, x1, ty_Double)
new_lt11(x0, x1)
new_ltEs23(x0, x1, ty_Ordering)
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_compare13(x0, x1, False, x2)
new_esEs31(x0, x1, ty_Int)
new_esEs11(x0, x1, app(ty_[], x2))
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs19(x0, x1, ty_Int)
new_esEs6(x0, x1, ty_Char)
new_lt23(x0, x1, app(app(ty_@2, x2), x3))
new_compare18(EQ, EQ)
new_esEs36(x0, x1, ty_Double)
new_esEs13(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs10(x0, x1, ty_Double)
new_esEs6(x0, x1, ty_Int)
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_primCompAux00(x0, GT)
new_esEs10(x0, x1, ty_Integer)
new_esEs5(x0, x1, ty_Integer)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1)
new_compare8(Integer(x0), Integer(x1))
new_ltEs13(Just(x0), Just(x1), app(ty_[], x2))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_gt9(x0, x1)
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_asAs(True, x0)
new_ltEs23(x0, x1, ty_Double)
new_esEs39(x0, x1, app(ty_Maybe, x2))
new_ltEs13(Just(x0), Just(x1), ty_Double)
new_lt21(x0, x1, ty_Integer)
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_fsEs(x0)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitGT2(yvy15, yvy16, yvy17, yvy18, Branch(yvy190, yvy191, yvy192, yvy193, yvy194), yvy20, True, h, ba) → new_splitGT3(yvy190, yvy191, yvy192, yvy193, yvy194, yvy20, h, ba)
new_splitGT1(yvy45, yvy46, yvy47, yvy48, yvy49, yvy50, True, bd, be) → new_splitGT(yvy48, yvy50, bd, be)
new_splitGT(Branch(yvy190, yvy191, yvy192, yvy193, yvy194), yvy20, h, ba) → new_splitGT3(yvy190, yvy191, yvy192, yvy193, yvy194, yvy20, h, ba)
new_splitGT3(yvy30, yvy31, yvy32, yvy33, yvy34, yvy40, bb, bc) → new_splitGT2(yvy30, yvy31, yvy32, yvy33, yvy34, yvy40, new_gt15(yvy40, yvy30, bb), bb, bc)
new_splitGT2(yvy15, yvy16, yvy17, yvy18, yvy19, yvy20, False, h, ba) → new_splitGT1(yvy15, yvy16, yvy17, yvy18, yvy19, yvy20, new_lt26(yvy20, yvy15, h), h, ba)

The TRS R consists of the following rules:

new_esEs28(yvy4001, yvy3001, ty_Integer) → new_esEs17(yvy4001, yvy3001)
new_esEs29(yvy4002, yvy3002, ty_Integer) → new_esEs17(yvy4002, yvy3002)
new_esEs30(yvy192, yvy195, app(app(app(ty_@3, gc), gd), ge)) → new_esEs24(yvy192, yvy195, gc, gd, ge)
new_lt23(yvy1601, yvy1611, app(ty_Maybe, fea)) → new_lt18(yvy1601, yvy1611, fea)
new_esEs37(yvy4000, yvy3000, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_compare10(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, False, yvy271, bg, bh, ca) → new_compare11(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, yvy271, bg, bh, ca)
new_esEs39(yvy1600, yvy1610, ty_Ordering) → new_esEs19(yvy1600, yvy1610)
new_lt14(yvy40, yvy30) → new_esEs26(new_compare12(yvy40, yvy30))
new_compare8(Integer(yvy400), Integer(yvy300)) → new_primCmpInt(yvy400, yvy300)
new_ltEs18(yvy194, yvy197, ty_Integer) → new_ltEs14(yvy194, yvy197)
new_ltEs18(yvy194, yvy197, app(ty_[], bbg)) → new_ltEs15(yvy194, yvy197, bbg)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, ty_Int) → new_ltEs7(yvy1600, yvy1610)
new_esEs15(:(yvy4000, yvy4001), :(yvy3000, yvy3001), eag) → new_asAs(new_esEs34(yvy4000, yvy3000, eag), new_esEs15(yvy4001, yvy3001, eag))
new_esEs7(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_esEs12(Just(yvy4000), Just(yvy3000), app(app(ty_@2, chc), chd)) → new_esEs22(yvy4000, yvy3000, chc, chd)
new_lt8(yvy193, yvy196, app(app(app(ty_@3, he), hf), hg)) → new_lt9(yvy193, yvy196, he, hf, hg)
new_esEs6(yvy402, yvy302, ty_Integer) → new_esEs17(yvy402, yvy302)
new_esEs40(yvy1601, yvy1611, app(ty_[], feb)) → new_esEs15(yvy1601, yvy1611, feb)
new_compare16(Left(yvy400), Right(yvy300), ce, cf) → LT
new_esEs30(yvy192, yvy195, app(app(ty_Either, gh), ha)) → new_esEs13(yvy192, yvy195, gh, ha)
new_ltEs23(yvy206, yvy208, ty_Ordering) → new_ltEs6(yvy206, yvy208)
new_lt21(yvy205, yvy207, ty_Ordering) → new_lt10(yvy205, yvy207)
new_esEs29(yvy4002, yvy3002, app(app(app(ty_@3, ddg), ddh), dea)) → new_esEs24(yvy4002, yvy3002, ddg, ddh, dea)
new_gt15(yvy40, yvy30, ty_Ordering) → new_gt6(yvy40, yvy30)
new_ltEs22(yvy1601, yvy1611, app(ty_[], egh)) → new_ltEs15(yvy1601, yvy1611, egh)
new_lt26(yvy20, yvy15, ty_Bool) → new_lt14(yvy20, yvy15)
new_compare12(True, False) → GT
new_sr(Integer(yvy4000), Integer(yvy3010)) → Integer(new_primMulInt(yvy4000, yvy3010))
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_lt20(yvy1600, yvy1610, ty_Int) → new_lt11(yvy1600, yvy1610)
new_esEs34(yvy4000, yvy3000, app(ty_Ratio, edf)) → new_esEs14(yvy4000, yvy3000, edf)
new_esEs4(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_esEs14(:%(yvy4000, yvy4001), :%(yvy3000, yvy3001), eaf) → new_asAs(new_esEs37(yvy4000, yvy3000, eaf), new_esEs38(yvy4001, yvy3001, eaf))
new_lt23(yvy1601, yvy1611, ty_Ordering) → new_lt10(yvy1601, yvy1611)
new_ltEs21(yvy160, yvy161, app(ty_Maybe, cba)) → new_ltEs13(yvy160, yvy161, cba)
new_esEs27(yvy4000, yvy3000, app(ty_[], dag)) → new_esEs15(yvy4000, yvy3000, dag)
new_ltEs19(yvy167, yvy168, ty_Integer) → new_ltEs14(yvy167, yvy168)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(app(ty_@2, dd), de), dc) → new_ltEs9(yvy1600, yvy1610, dd, de)
new_ltEs18(yvy194, yvy197, ty_Char) → new_ltEs16(yvy194, yvy197)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, ty_Ordering) → new_ltEs6(yvy1600, yvy1610)
new_esEs27(yvy4000, yvy3000, ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_esEs28(yvy4001, yvy3001, ty_@0) → new_esEs25(yvy4001, yvy3001)
new_ltEs20(yvy174, yvy175, app(ty_Maybe, bdd)) → new_ltEs13(yvy174, yvy175, bdd)
new_ltEs24(yvy1602, yvy1612, ty_Double) → new_ltEs8(yvy1602, yvy1612)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, ty_Integer) → new_ltEs14(yvy1600, yvy1610)
new_esEs33(yvy4001, yvy3001, app(ty_Ratio, dfh)) → new_esEs14(yvy4001, yvy3001, dfh)
new_ltEs22(yvy1601, yvy1611, ty_Ordering) → new_ltEs6(yvy1601, yvy1611)
new_esEs36(yvy205, yvy207, ty_Char) → new_esEs23(yvy205, yvy207)
new_esEs31(yvy193, yvy196, ty_@0) → new_esEs25(yvy193, yvy196)
new_compare18(GT, EQ) → GT
new_lt22(yvy1600, yvy1610, ty_Integer) → new_lt5(yvy1600, yvy1610)
new_ltEs22(yvy1601, yvy1611, app(app(app(ty_@3, efh), ega), egb)) → new_ltEs5(yvy1601, yvy1611, efh, ega, egb)
new_ltEs22(yvy1601, yvy1611, app(ty_Ratio, eha)) → new_ltEs17(yvy1601, yvy1611, eha)
new_esEs31(yvy193, yvy196, app(ty_Maybe, bad)) → new_esEs12(yvy193, yvy196, bad)
new_lt22(yvy1600, yvy1610, ty_Float) → new_lt17(yvy1600, yvy1610)
new_gt6(yvy40, yvy30) → new_esEs41(new_compare18(yvy40, yvy30))
new_esEs24(@3(yvy4000, yvy4001, yvy4002), @3(yvy3000, yvy3001, yvy3002), daa, dab, dac) → new_asAs(new_esEs27(yvy4000, yvy3000, daa), new_asAs(new_esEs28(yvy4001, yvy3001, dab), new_esEs29(yvy4002, yvy3002, dac)))
new_esEs7(yvy400, yvy300, app(ty_[], bga)) → new_esEs15(yvy400, yvy300, bga)
new_compare110(yvy279, yvy280, yvy281, yvy282, True, yvy284, cbd, cbe) → new_compare111(yvy279, yvy280, yvy281, yvy282, True, cbd, cbe)
new_esEs8(yvy401, yvy301, app(ty_[], bhc)) → new_esEs15(yvy401, yvy301, bhc)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Bool, dc) → new_ltEs10(yvy1600, yvy1610)
new_esEs33(yvy4001, yvy3001, ty_Float) → new_esEs21(yvy4001, yvy3001)
new_ltEs10(False, False) → True
new_esEs4(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_esEs22(@2(yvy4000, yvy4001), @2(yvy3000, yvy3001), deb, dec) → new_asAs(new_esEs32(yvy4000, yvy3000, deb), new_esEs33(yvy4001, yvy3001, dec))
new_compare31(yvy400, yvy300, ty_@0) → new_compare27(yvy400, yvy300)
new_ltEs13(Just(yvy1600), Just(yvy1610), app(app(ty_@2, gae), gaf)) → new_ltEs9(yvy1600, yvy1610, gae, gaf)
new_esEs10(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_ltEs24(yvy1602, yvy1612, app(ty_Ratio, ffe)) → new_ltEs17(yvy1602, yvy1612, ffe)
new_ltEs19(yvy167, yvy168, app(app(ty_Either, dhg), dhh)) → new_ltEs4(yvy167, yvy168, dhg, dhh)
new_esEs28(yvy4001, yvy3001, ty_Char) → new_esEs23(yvy4001, yvy3001)
new_pePe(False, yvy295) → yvy295
new_esEs19(GT, GT) → True
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Ordering, dc) → new_ltEs6(yvy1600, yvy1610)
new_ltEs24(yvy1602, yvy1612, ty_Integer) → new_ltEs14(yvy1602, yvy1612)
new_ltEs24(yvy1602, yvy1612, app(app(ty_@2, feg), feh)) → new_ltEs9(yvy1602, yvy1612, feg, feh)
new_esEs6(yvy402, yvy302, ty_Char) → new_esEs23(yvy402, yvy302)
new_lt20(yvy1600, yvy1610, ty_Double) → new_lt12(yvy1600, yvy1610)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, app(ty_[], fhc)) → new_esEs15(yvy4000, yvy3000, fhc)
new_ltEs20(yvy174, yvy175, app(app(ty_Either, bdb), bdc)) → new_ltEs4(yvy174, yvy175, bdb, bdc)
new_esEs10(yvy400, yvy300, app(ty_Maybe, ceh)) → new_esEs12(yvy400, yvy300, ceh)
new_gt15(yvy40, yvy30, app(app(app(ty_@3, cb), cc), cd)) → new_gt1(yvy40, yvy30, cb, cc, cd)
new_esEs34(yvy4000, yvy3000, app(ty_Maybe, eeb)) → new_esEs12(yvy4000, yvy3000, eeb)
new_gt15(yvy40, yvy30, app(ty_Maybe, bdg)) → new_gt11(yvy40, yvy30, bdg)
new_esEs26(EQ) → False
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Int, dc) → new_ltEs7(yvy1600, yvy1610)
new_ltEs6(GT, EQ) → False
new_esEs29(yvy4002, yvy3002, app(app(ty_@2, ddd), dde)) → new_esEs22(yvy4002, yvy3002, ddd, dde)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, app(app(ty_Either, fa), fb)) → new_ltEs4(yvy1600, yvy1610, fa, fb)
new_lt23(yvy1601, yvy1611, ty_Int) → new_lt11(yvy1601, yvy1611)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Int) → new_ltEs7(yvy1600, yvy1610)
new_esEs9(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_lt7(yvy192, yvy195, app(ty_Ratio, hd)) → new_lt6(yvy192, yvy195, hd)
new_ltEs18(yvy194, yvy197, ty_@0) → new_ltEs11(yvy194, yvy197)
new_ltEs24(yvy1602, yvy1612, ty_Int) → new_ltEs7(yvy1602, yvy1612)
new_ltEs13(Nothing, Nothing, cba) → True
new_esEs10(yvy400, yvy300, app(app(ty_@2, cef), ceg)) → new_esEs22(yvy400, yvy300, cef, ceg)
new_esEs35(yvy1600, yvy1610, app(app(ty_@2, efa), efb)) → new_esEs22(yvy1600, yvy1610, efa, efb)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_Double) → new_esEs18(yvy4000, yvy3000)
new_compare12(False, True) → LT
new_gt15(yvy40, yvy30, ty_Int) → new_gt3(yvy40, yvy30)
new_esEs9(yvy400, yvy300, app(ty_Ratio, cdb)) → new_esEs14(yvy400, yvy300, cdb)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Integer, eae) → new_esEs17(yvy4000, yvy3000)
new_esEs40(yvy1601, yvy1611, ty_Double) → new_esEs18(yvy1601, yvy1611)
new_esEs12(Nothing, Just(yvy3000), cgf) → False
new_esEs12(Just(yvy4000), Nothing, cgf) → False
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Bool, eae) → new_esEs20(yvy4000, yvy3000)
new_esEs34(yvy4000, yvy3000, ty_@0) → new_esEs25(yvy4000, yvy3000)
new_esEs39(yvy1600, yvy1610, app(ty_[], fch)) → new_esEs15(yvy1600, yvy1610, fch)
new_pePe(True, yvy295) → True
new_primEqNat0(Zero, Zero) → True
new_compare14(yvy236, yvy237, False, bcb, bcc) → GT
new_esEs27(yvy4000, yvy3000, app(app(ty_@2, dah), dba)) → new_esEs22(yvy4000, yvy3000, dah, dba)
new_lt21(yvy205, yvy207, app(ty_Maybe, fac)) → new_lt18(yvy205, yvy207, fac)
new_compare31(yvy400, yvy300, app(ty_Ratio, cge)) → new_compare6(yvy400, yvy300, cge)
new_compare17(@3(yvy400, yvy401, yvy402), @3(yvy300, yvy301, yvy302), cb, cc, cd) → new_compare24(yvy400, yvy401, yvy402, yvy300, yvy301, yvy302, new_asAs(new_esEs4(yvy400, yvy300, cb), new_asAs(new_esEs5(yvy401, yvy301, cc), new_esEs6(yvy402, yvy302, cd))), cb, cc, cd)
new_lt21(yvy205, yvy207, app(app(ty_Either, faa), fab)) → new_lt16(yvy205, yvy207, faa, fab)
new_ltEs20(yvy174, yvy175, ty_Bool) → new_ltEs10(yvy174, yvy175)
new_ltEs20(yvy174, yvy175, ty_Integer) → new_ltEs14(yvy174, yvy175)
new_esEs7(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_esEs12(Nothing, Nothing, cgf) → True
new_esEs9(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_ltEs23(yvy206, yvy208, ty_Integer) → new_ltEs14(yvy206, yvy208)
new_esEs35(yvy1600, yvy1610, ty_Integer) → new_esEs17(yvy1600, yvy1610)
new_ltEs21(yvy160, yvy161, ty_Bool) → new_ltEs10(yvy160, yvy161)
new_esEs36(yvy205, yvy207, app(ty_Maybe, fac)) → new_esEs12(yvy205, yvy207, fac)
new_esEs8(yvy401, yvy301, app(ty_Maybe, bhf)) → new_esEs12(yvy401, yvy301, bhf)
new_ltEs20(yvy174, yvy175, app(app(ty_@2, bch), bda)) → new_ltEs9(yvy174, yvy175, bch, bda)
new_ltEs22(yvy1601, yvy1611, app(app(ty_@2, egc), egd)) → new_ltEs9(yvy1601, yvy1611, egc, egd)
new_gt0(yvy40, yvy30, bf) → new_esEs41(new_compare5(yvy40, yvy30, bf))
new_esEs12(Just(yvy4000), Just(yvy3000), app(app(ty_Either, cgg), cgh)) → new_esEs13(yvy4000, yvy3000, cgg, cgh)
new_esEs33(yvy4001, yvy3001, app(ty_[], dga)) → new_esEs15(yvy4001, yvy3001, dga)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Float) → new_ltEs12(yvy1600, yvy1610)
new_esEs29(yvy4002, yvy3002, ty_Bool) → new_esEs20(yvy4002, yvy3002)
new_ltEs6(EQ, GT) → True
new_esEs34(yvy4000, yvy3000, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_lt7(yvy192, yvy195, app(app(ty_@2, gf), gg)) → new_lt13(yvy192, yvy195, gf, gg)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, ty_@0) → new_ltEs11(yvy1600, yvy1610)
new_esEs29(yvy4002, yvy3002, app(app(ty_Either, dch), dda)) → new_esEs13(yvy4002, yvy3002, dch, dda)
new_esEs11(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_lt21(yvy205, yvy207, app(app(ty_@2, ehg), ehh)) → new_lt13(yvy205, yvy207, ehg, ehh)
new_lt22(yvy1600, yvy1610, app(ty_Maybe, fcg)) → new_lt18(yvy1600, yvy1610, fcg)
new_esEs27(yvy4000, yvy3000, app(app(app(ty_@3, dbc), dbd), dbe)) → new_esEs24(yvy4000, yvy3000, dbc, dbd, dbe)
new_esEs27(yvy4000, yvy3000, ty_Float) → new_esEs21(yvy4000, yvy3000)
new_primEqInt(Neg(Succ(yvy40000)), Neg(Succ(yvy30000))) → new_primEqNat0(yvy40000, yvy30000)
new_esEs19(EQ, EQ) → True
new_lt8(yvy193, yvy196, ty_Double) → new_lt12(yvy193, yvy196)
new_esEs16(yvy400, yvy300) → new_primEqInt(yvy400, yvy300)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Float, dc) → new_ltEs12(yvy1600, yvy1610)
new_esEs9(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_ltEs21(yvy160, yvy161, app(ty_[], cbb)) → new_ltEs15(yvy160, yvy161, cbb)
new_ltEs22(yvy1601, yvy1611, ty_Int) → new_ltEs7(yvy1601, yvy1611)
new_esEs5(yvy401, yvy301, ty_Bool) → new_esEs20(yvy401, yvy301)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs4(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_esEs40(yvy1601, yvy1611, app(app(app(ty_@3, fdb), fdc), fdd)) → new_esEs24(yvy1601, yvy1611, fdb, fdc, fdd)
new_esEs35(yvy1600, yvy1610, ty_Ordering) → new_esEs19(yvy1600, yvy1610)
new_compare6(:%(yvy400, yvy401), :%(yvy300, yvy301), ty_Integer) → new_compare8(new_sr(yvy400, yvy301), new_sr(yvy300, yvy401))
new_lt26(yvy20, yvy15, app(app(ty_Either, ccc), ccd)) → new_lt16(yvy20, yvy15, ccc, ccd)
new_lt17(yvy40, yvy30) → new_esEs26(new_compare19(yvy40, yvy30))
new_compare211(yvy160, yvy161, False, cab, cac) → new_compare14(yvy160, yvy161, new_ltEs21(yvy160, yvy161, cab), cab, cac)
new_esEs29(yvy4002, yvy3002, ty_@0) → new_esEs25(yvy4002, yvy3002)
new_esEs34(yvy4000, yvy3000, app(ty_[], edg)) → new_esEs15(yvy4000, yvy3000, edg)
new_esEs33(yvy4001, yvy3001, ty_Integer) → new_esEs17(yvy4001, yvy3001)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, app(ty_Ratio, ff)) → new_ltEs17(yvy1600, yvy1610, ff)
new_ltEs6(GT, GT) → True
new_fsEs(yvy296) → new_not(new_esEs19(yvy296, GT))
new_ltEs24(yvy1602, yvy1612, ty_@0) → new_ltEs11(yvy1602, yvy1612)
new_esEs5(yvy401, yvy301, ty_Integer) → new_esEs17(yvy401, yvy301)
new_esEs7(yvy400, yvy300, app(app(ty_Either, bff), bfg)) → new_esEs13(yvy400, yvy300, bff, bfg)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_esEs4(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_esEs6(yvy402, yvy302, ty_@0) → new_esEs25(yvy402, yvy302)
new_esEs31(yvy193, yvy196, ty_Bool) → new_esEs20(yvy193, yvy196)
new_esEs6(yvy402, yvy302, app(ty_Ratio, ecd)) → new_esEs14(yvy402, yvy302, ecd)
new_esEs19(LT, EQ) → False
new_esEs19(EQ, LT) → False
new_compare11(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, True, bg, bh, ca) → LT
new_lt26(yvy20, yvy15, ty_Ordering) → new_lt10(yvy20, yvy15)
new_primEqInt(Pos(Succ(yvy40000)), Pos(Succ(yvy30000))) → new_primEqNat0(yvy40000, yvy30000)
new_compare28(Nothing, Just(yvy300), bdg) → LT
new_ltEs18(yvy194, yvy197, ty_Double) → new_ltEs8(yvy194, yvy197)
new_lt26(yvy20, yvy15, app(app(ty_@2, cca), ccb)) → new_lt13(yvy20, yvy15, cca, ccb)
new_compare31(yvy400, yvy300, app(app(app(ty_@3, cfd), cfe), cff)) → new_compare17(yvy400, yvy300, cfd, cfe, cff)
new_esEs13(Left(yvy4000), Left(yvy3000), app(app(ty_@2, fgb), fgc), eae) → new_esEs22(yvy4000, yvy3000, fgb, fgc)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, app(ty_[], fd)) → new_ltEs15(yvy1600, yvy1610, fd)
new_esEs5(yvy401, yvy301, app(ty_[], ebc)) → new_esEs15(yvy401, yvy301, ebc)
new_primEqNat0(Succ(yvy40000), Succ(yvy30000)) → new_primEqNat0(yvy40000, yvy30000)
new_esEs8(yvy401, yvy301, ty_@0) → new_esEs25(yvy401, yvy301)
new_esEs27(yvy4000, yvy3000, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_esEs35(yvy1600, yvy1610, app(ty_Maybe, efe)) → new_esEs12(yvy1600, yvy1610, efe)
new_gt9(yvy40, yvy30) → new_esEs41(new_compare12(yvy40, yvy30))
new_esEs7(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_compare5(:(yvy400, yvy401), :(yvy300, yvy301), bf) → new_primCompAux0(yvy400, yvy300, new_compare5(yvy401, yvy301, bf), bf)
new_ltEs20(yvy174, yvy175, ty_Char) → new_ltEs16(yvy174, yvy175)
new_lt26(yvy20, yvy15, ty_Double) → new_lt12(yvy20, yvy15)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_lt26(yvy20, yvy15, ty_@0) → new_lt15(yvy20, yvy15)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Bool) → new_ltEs10(yvy1600, yvy1610)
new_esEs40(yvy1601, yvy1611, ty_Bool) → new_esEs20(yvy1601, yvy1611)
new_lt23(yvy1601, yvy1611, app(app(ty_Either, fdg), fdh)) → new_lt16(yvy1601, yvy1611, fdg, fdh)
new_esEs30(yvy192, yvy195, app(ty_Ratio, hd)) → new_esEs14(yvy192, yvy195, hd)
new_esEs11(yvy400, yvy300, app(app(app(ty_@3, beg), beh), bfa)) → new_esEs24(yvy400, yvy300, beg, beh, bfa)
new_compare13(yvy252, yvy253, True, fg) → LT
new_compare18(GT, LT) → GT
new_esEs29(yvy4002, yvy3002, ty_Double) → new_esEs18(yvy4002, yvy3002)
new_lt20(yvy1600, yvy1610, app(ty_Ratio, efg)) → new_lt6(yvy1600, yvy1610, efg)
new_gt15(yvy40, yvy30, ty_Bool) → new_gt9(yvy40, yvy30)
new_esEs32(yvy4000, yvy3000, app(ty_Maybe, dfb)) → new_esEs12(yvy4000, yvy3000, dfb)
new_ltEs11(yvy160, yvy161) → new_fsEs(new_compare27(yvy160, yvy161))
new_ltEs18(yvy194, yvy197, app(app(ty_Either, bbd), bbe)) → new_ltEs4(yvy194, yvy197, bbd, bbe)
new_esEs32(yvy4000, yvy3000, app(ty_Ratio, def)) → new_esEs14(yvy4000, yvy3000, def)
new_ltEs22(yvy1601, yvy1611, ty_@0) → new_ltEs11(yvy1601, yvy1611)
new_gt2(yvy40, yvy30, ce, cf) → new_esEs41(new_compare16(yvy40, yvy30, ce, cf))
new_esEs11(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_esEs10(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_lt7(yvy192, yvy195, ty_Double) → new_lt12(yvy192, yvy195)
new_esEs31(yvy193, yvy196, ty_Integer) → new_esEs17(yvy193, yvy196)
new_primEqInt(Pos(Zero), Neg(Succ(yvy30000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(yvy30000))) → False
new_lt7(yvy192, yvy195, app(app(app(ty_@3, gc), gd), ge)) → new_lt9(yvy192, yvy195, gc, gd, ge)
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_primCompAux00(yvy180, EQ) → yvy180
new_esEs13(Left(yvy4000), Left(yvy3000), app(app(ty_Either, fff), ffg), eae) → new_esEs13(yvy4000, yvy3000, fff, ffg)
new_lt22(yvy1600, yvy1610, app(ty_[], fch)) → new_lt4(yvy1600, yvy1610, fch)
new_esEs36(yvy205, yvy207, app(ty_Ratio, fae)) → new_esEs14(yvy205, yvy207, fae)
new_ltEs24(yvy1602, yvy1612, app(ty_[], ffd)) → new_ltEs15(yvy1602, yvy1612, ffd)
new_ltEs23(yvy206, yvy208, app(ty_[], fbf)) → new_ltEs15(yvy206, yvy208, fbf)
new_compare31(yvy400, yvy300, app(ty_[], cgd)) → new_compare5(yvy400, yvy300, cgd)
new_esEs7(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(ty_[], ea), dc) → new_ltEs15(yvy1600, yvy1610, ea)
new_esEs30(yvy192, yvy195, ty_Double) → new_esEs18(yvy192, yvy195)
new_esEs28(yvy4001, yvy3001, app(ty_Ratio, dbh)) → new_esEs14(yvy4001, yvy3001, dbh)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_@0) → new_esEs25(yvy4000, yvy3000)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, app(ty_Maybe, fc)) → new_ltEs13(yvy1600, yvy1610, fc)
new_compare18(EQ, GT) → LT
new_esEs30(yvy192, yvy195, app(app(ty_@2, gf), gg)) → new_esEs22(yvy192, yvy195, gf, gg)
new_not(False) → True
new_lt8(yvy193, yvy196, ty_Integer) → new_lt5(yvy193, yvy196)
new_ltEs22(yvy1601, yvy1611, app(app(ty_Either, ege), egf)) → new_ltEs4(yvy1601, yvy1611, ege, egf)
new_esEs32(yvy4000, yvy3000, ty_Float) → new_esEs21(yvy4000, yvy3000)
new_compare31(yvy400, yvy300, app(ty_Maybe, cgc)) → new_compare28(yvy400, yvy300, cgc)
new_esEs36(yvy205, yvy207, ty_Integer) → new_esEs17(yvy205, yvy207)
new_esEs9(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_esEs6(yvy402, yvy302, ty_Int) → new_esEs16(yvy402, yvy302)
new_esEs11(yvy400, yvy300, app(app(ty_Either, bdh), bea)) → new_esEs13(yvy400, yvy300, bdh, bea)
new_lt20(yvy1600, yvy1610, app(app(ty_Either, efc), efd)) → new_lt16(yvy1600, yvy1610, efc, efd)
new_esEs32(yvy4000, yvy3000, app(ty_[], deg)) → new_esEs15(yvy4000, yvy3000, deg)
new_esEs13(Left(yvy4000), Left(yvy3000), app(ty_Maybe, fgd), eae) → new_esEs12(yvy4000, yvy3000, fgd)
new_esEs9(yvy400, yvy300, app(app(ty_@2, cdd), cde)) → new_esEs22(yvy400, yvy300, cdd, cde)
new_esEs6(yvy402, yvy302, app(app(ty_Either, ecb), ecc)) → new_esEs13(yvy402, yvy302, ecb, ecc)
new_esEs28(yvy4001, yvy3001, app(app(ty_Either, dbf), dbg)) → new_esEs13(yvy4001, yvy3001, dbf, dbg)
new_compare28(Just(yvy400), Nothing, bdg) → GT
new_esEs5(yvy401, yvy301, ty_Char) → new_esEs23(yvy401, yvy301)
new_lt8(yvy193, yvy196, ty_Ordering) → new_lt10(yvy193, yvy196)
new_lt4(yvy40, yvy30, bf) → new_esEs26(new_compare5(yvy40, yvy30, bf))
new_lt8(yvy193, yvy196, app(ty_Maybe, bad)) → new_lt18(yvy193, yvy196, bad)
new_esEs30(yvy192, yvy195, ty_Char) → new_esEs23(yvy192, yvy195)
new_esEs34(yvy4000, yvy3000, app(app(ty_@2, edh), eea)) → new_esEs22(yvy4000, yvy3000, edh, eea)
new_esEs5(yvy401, yvy301, ty_Float) → new_esEs21(yvy401, yvy301)
new_ltEs18(yvy194, yvy197, ty_Int) → new_ltEs7(yvy194, yvy197)
new_primMulInt(Neg(yvy4000), Neg(yvy3000)) → Pos(new_primMulNat0(yvy4000, yvy3000))
new_primEqNat0(Zero, Succ(yvy30000)) → False
new_primEqNat0(Succ(yvy40000), Zero) → False
new_compare31(yvy400, yvy300, ty_Integer) → new_compare8(yvy400, yvy300)
new_compare25(yvy167, yvy168, True, dgh, dha) → EQ
new_ltEs6(EQ, LT) → False
new_esEs27(yvy4000, yvy3000, app(app(ty_Either, dad), dae)) → new_esEs13(yvy4000, yvy3000, dad, dae)
new_esEs11(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_ltEs20(yvy174, yvy175, ty_Int) → new_ltEs7(yvy174, yvy175)
new_esEs31(yvy193, yvy196, app(app(ty_@2, hh), baa)) → new_esEs22(yvy193, yvy196, hh, baa)
new_lt23(yvy1601, yvy1611, app(ty_Ratio, fec)) → new_lt6(yvy1601, yvy1611, fec)
new_ltEs22(yvy1601, yvy1611, ty_Double) → new_ltEs8(yvy1601, yvy1611)
new_esEs32(yvy4000, yvy3000, ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_esEs12(Just(yvy4000), Just(yvy3000), app(ty_[], chb)) → new_esEs15(yvy4000, yvy3000, chb)
new_esEs13(Left(yvy4000), Left(yvy3000), app(ty_Ratio, ffh), eae) → new_esEs14(yvy4000, yvy3000, ffh)
new_esEs35(yvy1600, yvy1610, app(app(app(ty_@3, eef), eeg), eeh)) → new_esEs24(yvy1600, yvy1610, eef, eeg, eeh)
new_esEs32(yvy4000, yvy3000, ty_@0) → new_esEs25(yvy4000, yvy3000)
new_ltEs19(yvy167, yvy168, ty_Bool) → new_ltEs10(yvy167, yvy168)
new_esEs6(yvy402, yvy302, app(ty_[], ece)) → new_esEs15(yvy402, yvy302, ece)
new_ltEs22(yvy1601, yvy1611, ty_Float) → new_ltEs12(yvy1601, yvy1611)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_ltEs22(yvy1601, yvy1611, ty_Char) → new_ltEs16(yvy1601, yvy1611)
new_esEs31(yvy193, yvy196, app(app(app(ty_@3, he), hf), hg)) → new_esEs24(yvy193, yvy196, he, hf, hg)
new_esEs12(Just(yvy4000), Just(yvy3000), app(ty_Ratio, cha)) → new_esEs14(yvy4000, yvy3000, cha)
new_lt21(yvy205, yvy207, ty_Integer) → new_lt5(yvy205, yvy207)
new_esEs20(False, True) → False
new_esEs20(True, False) → False
new_esEs4(yvy400, yvy300, app(app(app(ty_@3, daa), dab), dac)) → new_esEs24(yvy400, yvy300, daa, dab, dac)
new_ltEs18(yvy194, yvy197, ty_Float) → new_ltEs12(yvy194, yvy197)
new_ltEs19(yvy167, yvy168, ty_Double) → new_ltEs8(yvy167, yvy168)
new_esEs40(yvy1601, yvy1611, app(app(ty_@2, fde), fdf)) → new_esEs22(yvy1601, yvy1611, fde, fdf)
new_esEs32(yvy4000, yvy3000, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_esEs7(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_esEs19(LT, LT) → True
new_esEs40(yvy1601, yvy1611, ty_Int) → new_esEs16(yvy1601, yvy1611)
new_esEs15([], :(yvy3000, yvy3001), eag) → False
new_esEs15(:(yvy4000, yvy4001), [], eag) → False
new_esEs28(yvy4001, yvy3001, app(app(app(ty_@3, dce), dcf), dcg)) → new_esEs24(yvy4001, yvy3001, dce, dcf, dcg)
new_compare5([], :(yvy300, yvy301), bf) → LT
new_compare29(@2(yvy400, yvy401), @2(yvy300, yvy301), bfd, bfe) → new_compare210(yvy400, yvy401, yvy300, yvy301, new_asAs(new_esEs7(yvy400, yvy300, bfd), new_esEs8(yvy401, yvy301, bfe)), bfd, bfe)
new_esEs11(yvy400, yvy300, app(ty_Ratio, beb)) → new_esEs14(yvy400, yvy300, beb)
new_gt13(yvy40, yvy30) → new_esEs41(new_compare30(yvy40, yvy30))
new_esEs37(yvy4000, yvy3000, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_esEs33(yvy4001, yvy3001, ty_Char) → new_esEs23(yvy4001, yvy3001)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Double) → new_ltEs8(yvy1600, yvy1610)
new_esEs32(yvy4000, yvy3000, app(app(ty_Either, ded), dee)) → new_esEs13(yvy4000, yvy3000, ded, dee)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs10(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Double, dc) → new_ltEs8(yvy1600, yvy1610)
new_ltEs10(True, False) → False
new_esEs40(yvy1601, yvy1611, ty_Ordering) → new_esEs19(yvy1601, yvy1611)
new_asAs(False, yvy230) → False
new_esEs10(yvy400, yvy300, app(app(app(ty_@3, cfa), cfb), cfc)) → new_esEs24(yvy400, yvy300, cfa, cfb, cfc)
new_primMulInt(Pos(yvy4000), Neg(yvy3000)) → Neg(new_primMulNat0(yvy4000, yvy3000))
new_primMulInt(Neg(yvy4000), Pos(yvy3000)) → Neg(new_primMulNat0(yvy4000, yvy3000))
new_esEs5(yvy401, yvy301, ty_@0) → new_esEs25(yvy401, yvy301)
new_lt11(yvy40, yvy30) → new_esEs26(new_compare7(yvy40, yvy30))
new_esEs6(yvy402, yvy302, app(ty_Maybe, ech)) → new_esEs12(yvy402, yvy302, ech)
new_esEs27(yvy4000, yvy3000, ty_@0) → new_esEs25(yvy4000, yvy3000)
new_esEs9(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_lt7(yvy192, yvy195, app(ty_[], hc)) → new_lt4(yvy192, yvy195, hc)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_gt15(yvy40, yvy30, ty_@0) → new_gt10(yvy40, yvy30)
new_lt19(yvy40, yvy30) → new_esEs26(new_compare30(yvy40, yvy30))
new_esEs13(Right(yvy4000), Right(yvy3000), ead, app(ty_Maybe, fhf)) → new_esEs12(yvy4000, yvy3000, fhf)
new_esEs29(yvy4002, yvy3002, ty_Char) → new_esEs23(yvy4002, yvy3002)
new_esEs40(yvy1601, yvy1611, ty_Char) → new_esEs23(yvy1601, yvy1611)
new_lt20(yvy1600, yvy1610, app(ty_[], eff)) → new_lt4(yvy1600, yvy1610, eff)
new_compare31(yvy400, yvy300, ty_Float) → new_compare19(yvy400, yvy300)
new_esEs28(yvy4001, yvy3001, app(app(ty_@2, dcb), dcc)) → new_esEs22(yvy4001, yvy3001, dcb, dcc)
new_lt22(yvy1600, yvy1610, ty_@0) → new_lt15(yvy1600, yvy1610)
new_esEs28(yvy4001, yvy3001, ty_Double) → new_esEs18(yvy4001, yvy3001)
new_compare9(Double(yvy400, yvy401), Double(yvy300, yvy301)) → new_compare7(new_sr0(yvy400, yvy300), new_sr0(yvy401, yvy301))
new_esEs7(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_esEs40(yvy1601, yvy1611, ty_Float) → new_esEs21(yvy1601, yvy1611)
new_ltEs18(yvy194, yvy197, app(ty_Ratio, bbh)) → new_ltEs17(yvy194, yvy197, bbh)
new_compare111(yvy279, yvy280, yvy281, yvy282, False, cbd, cbe) → GT
new_ltEs18(yvy194, yvy197, app(ty_Maybe, bbf)) → new_ltEs13(yvy194, yvy197, bbf)
new_esEs34(yvy4000, yvy3000, ty_Float) → new_esEs21(yvy4000, yvy3000)
new_esEs8(yvy401, yvy301, app(app(ty_@2, bhd), bhe)) → new_esEs22(yvy401, yvy301, bhd, bhe)
new_ltEs6(LT, GT) → True
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_@0, dc) → new_ltEs11(yvy1600, yvy1610)
new_esEs27(yvy4000, yvy3000, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_ltEs21(yvy160, yvy161, ty_Char) → new_ltEs16(yvy160, yvy161)
new_esEs39(yvy1600, yvy1610, app(app(ty_@2, fcc), fcd)) → new_esEs22(yvy1600, yvy1610, fcc, fcd)
new_esEs7(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_ltEs21(yvy160, yvy161, ty_Ordering) → new_ltEs6(yvy160, yvy161)
new_esEs13(Right(yvy4000), Left(yvy3000), ead, eae) → False
new_esEs13(Left(yvy4000), Right(yvy3000), ead, eae) → False
new_esEs13(Right(yvy4000), Right(yvy3000), ead, app(app(ty_Either, fgh), fha)) → new_esEs13(yvy4000, yvy3000, fgh, fha)
new_lt22(yvy1600, yvy1610, ty_Int) → new_lt11(yvy1600, yvy1610)
new_ltEs23(yvy206, yvy208, app(app(ty_@2, fba), fbb)) → new_ltEs9(yvy206, yvy208, fba, fbb)
new_esEs39(yvy1600, yvy1610, ty_Char) → new_esEs23(yvy1600, yvy1610)
new_lt20(yvy1600, yvy1610, ty_Integer) → new_lt5(yvy1600, yvy1610)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Float, eae) → new_esEs21(yvy4000, yvy3000)
new_esEs41(GT) → True
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Int, eae) → new_esEs16(yvy4000, yvy3000)
new_esEs4(yvy400, yvy300, app(app(ty_@2, deb), dec)) → new_esEs22(yvy400, yvy300, deb, dec)
new_esEs39(yvy1600, yvy1610, ty_Float) → new_esEs21(yvy1600, yvy1610)
new_esEs4(yvy400, yvy300, app(app(ty_Either, ead), eae)) → new_esEs13(yvy400, yvy300, ead, eae)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_compare14(yvy236, yvy237, True, bcb, bcc) → LT
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Float) → new_esEs21(yvy4000, yvy3000)
new_esEs39(yvy1600, yvy1610, ty_Integer) → new_esEs17(yvy1600, yvy1610)
new_compare31(yvy400, yvy300, app(app(ty_Either, cga), cgb)) → new_compare16(yvy400, yvy300, cga, cgb)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_Char) → new_esEs23(yvy4000, yvy3000)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, ty_Double) → new_ltEs8(yvy1600, yvy1610)
new_gt4(yvy40, yvy30) → new_esEs41(new_compare19(yvy40, yvy30))
new_esEs39(yvy1600, yvy1610, app(app(ty_Either, fce), fcf)) → new_esEs13(yvy1600, yvy1610, fce, fcf)
new_ltEs21(yvy160, yvy161, ty_Float) → new_ltEs12(yvy160, yvy161)
new_esEs12(Just(yvy4000), Just(yvy3000), app(ty_Maybe, che)) → new_esEs12(yvy4000, yvy3000, che)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_ltEs10(True, True) → True
new_ltEs6(LT, EQ) → True
new_lt21(yvy205, yvy207, app(ty_Ratio, fae)) → new_lt6(yvy205, yvy207, fae)
new_esEs26(LT) → True
new_ltEs6(GT, LT) → False
new_asAs(True, yvy230) → yvy230
new_ltEs7(yvy160, yvy161) → new_fsEs(new_compare7(yvy160, yvy161))
new_lt21(yvy205, yvy207, app(ty_[], fad)) → new_lt4(yvy205, yvy207, fad)
new_esEs30(yvy192, yvy195, ty_Integer) → new_esEs17(yvy192, yvy195)
new_compare25(yvy167, yvy168, False, dgh, dha) → new_compare15(yvy167, yvy168, new_ltEs19(yvy167, yvy168, dha), dgh, dha)
new_ltEs19(yvy167, yvy168, ty_Float) → new_ltEs12(yvy167, yvy168)
new_ltEs23(yvy206, yvy208, ty_Int) → new_ltEs7(yvy206, yvy208)
new_ltEs16(yvy160, yvy161) → new_fsEs(new_compare30(yvy160, yvy161))
new_primCompAux0(yvy400, yvy300, yvy115, bf) → new_primCompAux00(yvy115, new_compare31(yvy400, yvy300, bf))
new_esEs7(yvy400, yvy300, app(ty_Ratio, bfh)) → new_esEs14(yvy400, yvy300, bfh)
new_esEs30(yvy192, yvy195, ty_Bool) → new_esEs20(yvy192, yvy195)
new_esEs39(yvy1600, yvy1610, app(app(app(ty_@3, fbh), fca), fcb)) → new_esEs24(yvy1600, yvy1610, fbh, fca, fcb)
new_esEs29(yvy4002, yvy3002, app(ty_[], ddc)) → new_esEs15(yvy4002, yvy3002, ddc)
new_ltEs13(Just(yvy1600), Just(yvy1610), app(app(app(ty_@3, gab), gac), gad)) → new_ltEs5(yvy1600, yvy1610, gab, gac, gad)
new_compare5([], [], bf) → EQ
new_esEs34(yvy4000, yvy3000, app(app(app(ty_@3, eec), eed), eee)) → new_esEs24(yvy4000, yvy3000, eec, eed, eee)
new_ltEs20(yvy174, yvy175, ty_Ordering) → new_ltEs6(yvy174, yvy175)
new_gt15(yvy40, yvy30, app(ty_Ratio, bca)) → new_gt5(yvy40, yvy30, bca)
new_esEs30(yvy192, yvy195, app(ty_[], hc)) → new_esEs15(yvy192, yvy195, hc)
new_esEs36(yvy205, yvy207, app(ty_[], fad)) → new_esEs15(yvy205, yvy207, fad)
new_esEs34(yvy4000, yvy3000, ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_@0, eae) → new_esEs25(yvy4000, yvy3000)
new_ltEs21(yvy160, yvy161, ty_Int) → new_ltEs7(yvy160, yvy161)
new_lt8(yvy193, yvy196, ty_Int) → new_lt11(yvy193, yvy196)
new_ltEs5(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), cad, cae, caf) → new_pePe(new_lt22(yvy1600, yvy1610, cad), new_asAs(new_esEs39(yvy1600, yvy1610, cad), new_pePe(new_lt23(yvy1601, yvy1611, cae), new_asAs(new_esEs40(yvy1601, yvy1611, cae), new_ltEs24(yvy1602, yvy1612, caf)))))
new_esEs33(yvy4001, yvy3001, app(app(ty_Either, dff), dfg)) → new_esEs13(yvy4001, yvy3001, dff, dfg)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_lt8(yvy193, yvy196, ty_@0) → new_lt15(yvy193, yvy196)
new_not(True) → False
new_compare210(yvy205, yvy206, yvy207, yvy208, True, ehb, ehc) → EQ
new_ltEs23(yvy206, yvy208, ty_Float) → new_ltEs12(yvy206, yvy208)
new_esEs29(yvy4002, yvy3002, ty_Int) → new_esEs16(yvy4002, yvy3002)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, app(ty_Ratio, fhb)) → new_esEs14(yvy4000, yvy3000, fhb)
new_ltEs8(yvy160, yvy161) → new_fsEs(new_compare9(yvy160, yvy161))
new_esEs20(True, True) → True
new_lt5(yvy40, yvy30) → new_esEs26(new_compare8(yvy40, yvy30))
new_ltEs21(yvy160, yvy161, ty_@0) → new_ltEs11(yvy160, yvy161)
new_ltEs13(Just(yvy1600), Just(yvy1610), app(ty_[], gbb)) → new_ltEs15(yvy1600, yvy1610, gbb)
new_esEs8(yvy401, yvy301, ty_Bool) → new_esEs20(yvy401, yvy301)
new_compare16(Right(yvy400), Right(yvy300), ce, cf) → new_compare25(yvy400, yvy300, new_esEs10(yvy400, yvy300, cf), ce, cf)
new_ltEs10(False, True) → True
new_esEs28(yvy4001, yvy3001, app(ty_[], dca)) → new_esEs15(yvy4001, yvy3001, dca)
new_compare15(yvy245, yvy246, True, bfb, bfc) → LT
new_lt22(yvy1600, yvy1610, app(ty_Ratio, fda)) → new_lt6(yvy1600, yvy1610, fda)
new_esEs32(yvy4000, yvy3000, app(app(app(ty_@3, dfc), dfd), dfe)) → new_esEs24(yvy4000, yvy3000, dfc, dfd, dfe)
new_lt22(yvy1600, yvy1610, app(app(ty_@2, fcc), fcd)) → new_lt13(yvy1600, yvy1610, fcc, fcd)
new_gt15(yvy40, yvy30, app(app(ty_Either, ce), cf)) → new_gt2(yvy40, yvy30, ce, cf)
new_esEs27(yvy4000, yvy3000, ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_esEs28(yvy4001, yvy3001, ty_Float) → new_esEs21(yvy4001, yvy3001)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(ty_Ratio, eb), dc) → new_ltEs17(yvy1600, yvy1610, eb)
new_ltEs24(yvy1602, yvy1612, ty_Ordering) → new_ltEs6(yvy1602, yvy1612)
new_esEs39(yvy1600, yvy1610, ty_Int) → new_esEs16(yvy1600, yvy1610)
new_esEs5(yvy401, yvy301, ty_Int) → new_esEs16(yvy401, yvy301)
new_primMulNat0(Zero, Zero) → Zero
new_lt21(yvy205, yvy207, ty_Double) → new_lt12(yvy205, yvy207)
new_ltEs20(yvy174, yvy175, ty_Float) → new_ltEs12(yvy174, yvy175)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, ty_Bool) → new_ltEs10(yvy1600, yvy1610)
new_lt23(yvy1601, yvy1611, app(ty_[], feb)) → new_lt4(yvy1601, yvy1611, feb)
new_ltEs20(yvy174, yvy175, ty_@0) → new_ltEs11(yvy174, yvy175)
new_ltEs13(Nothing, Just(yvy1610), cba) → True
new_ltEs24(yvy1602, yvy1612, ty_Char) → new_ltEs16(yvy1602, yvy1612)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Integer) → new_ltEs14(yvy1600, yvy1610)
new_esEs4(yvy400, yvy300, app(ty_[], eag)) → new_esEs15(yvy400, yvy300, eag)
new_esEs35(yvy1600, yvy1610, ty_Float) → new_esEs21(yvy1600, yvy1610)
new_esEs21(Float(yvy4000, yvy4001), Float(yvy3000, yvy3001)) → new_esEs16(new_sr0(yvy4000, yvy3000), new_sr0(yvy4001, yvy3001))
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_Float) → new_esEs21(yvy4000, yvy3000)
new_esEs36(yvy205, yvy207, app(app(ty_Either, faa), fab)) → new_esEs13(yvy205, yvy207, faa, fab)
new_esEs6(yvy402, yvy302, ty_Ordering) → new_esEs19(yvy402, yvy302)
new_ltEs23(yvy206, yvy208, app(app(ty_Either, fbc), fbd)) → new_ltEs4(yvy206, yvy208, fbc, fbd)
new_compare28(Just(yvy400), Just(yvy300), bdg) → new_compare26(yvy400, yvy300, new_esEs11(yvy400, yvy300, bdg), bdg)
new_compare28(Nothing, Nothing, bdg) → EQ
new_ltEs13(Just(yvy1600), Just(yvy1610), app(app(ty_Either, gag), gah)) → new_ltEs4(yvy1600, yvy1610, gag, gah)
new_esEs32(yvy4000, yvy3000, ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_compare16(Left(yvy400), Left(yvy300), ce, cf) → new_compare211(yvy400, yvy300, new_esEs9(yvy400, yvy300, ce), ce, cf)
new_esEs4(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_esEs10(yvy400, yvy300, app(ty_[], cee)) → new_esEs15(yvy400, yvy300, cee)
new_esEs30(yvy192, yvy195, ty_Ordering) → new_esEs19(yvy192, yvy195)
new_esEs9(yvy400, yvy300, app(ty_[], cdc)) → new_esEs15(yvy400, yvy300, cdc)
new_esEs38(yvy4001, yvy3001, ty_Integer) → new_esEs17(yvy4001, yvy3001)
new_compare210(yvy205, yvy206, yvy207, yvy208, False, ehb, ehc) → new_compare110(yvy205, yvy206, yvy207, yvy208, new_lt21(yvy205, yvy207, ehb), new_asAs(new_esEs36(yvy205, yvy207, ehb), new_ltEs23(yvy206, yvy208, ehc)), ehb, ehc)
new_ltEs18(yvy194, yvy197, ty_Bool) → new_ltEs10(yvy194, yvy197)
new_lt8(yvy193, yvy196, app(ty_Ratio, baf)) → new_lt6(yvy193, yvy196, baf)
new_esEs32(yvy4000, yvy3000, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_compare31(yvy400, yvy300, ty_Char) → new_compare30(yvy400, yvy300)
new_esEs28(yvy4001, yvy3001, ty_Ordering) → new_esEs19(yvy4001, yvy3001)
new_lt20(yvy1600, yvy1610, ty_Float) → new_lt17(yvy1600, yvy1610)
new_esEs17(Integer(yvy4000), Integer(yvy3000)) → new_primEqInt(yvy4000, yvy3000)
new_lt20(yvy1600, yvy1610, ty_Bool) → new_lt14(yvy1600, yvy1610)
new_compare18(EQ, EQ) → EQ
new_lt7(yvy192, yvy195, ty_Bool) → new_lt14(yvy192, yvy195)
new_gt11(yvy40, yvy30, bdg) → new_esEs41(new_compare28(yvy40, yvy30, bdg))
new_lt22(yvy1600, yvy1610, ty_Char) → new_lt19(yvy1600, yvy1610)
new_ltEs22(yvy1601, yvy1611, app(ty_Maybe, egg)) → new_ltEs13(yvy1601, yvy1611, egg)
new_esEs8(yvy401, yvy301, app(app(app(ty_@3, bhg), bhh), caa)) → new_esEs24(yvy401, yvy301, bhg, bhh, caa)
new_ltEs21(yvy160, yvy161, ty_Double) → new_ltEs8(yvy160, yvy161)
new_compare31(yvy400, yvy300, app(app(ty_@2, cfg), cfh)) → new_compare29(yvy400, yvy300, cfg, cfh)
new_compare11(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, False, bg, bh, ca) → GT
new_esEs11(yvy400, yvy300, app(ty_Maybe, bef)) → new_esEs12(yvy400, yvy300, bef)
new_esEs40(yvy1601, yvy1611, app(ty_Ratio, fec)) → new_esEs14(yvy1601, yvy1611, fec)
new_compare12(True, True) → EQ
new_lt9(yvy40, yvy30, cb, cc, cd) → new_esEs26(new_compare17(yvy40, yvy30, cb, cc, cd))
new_ltEs4(Left(yvy1600), Left(yvy1610), app(ty_Maybe, dh), dc) → new_ltEs13(yvy1600, yvy1610, dh)
new_esEs11(yvy400, yvy300, app(ty_[], bec)) → new_esEs15(yvy400, yvy300, bec)
new_lt26(yvy20, yvy15, ty_Char) → new_lt19(yvy20, yvy15)
new_esEs11(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_ltEs4(Left(yvy1600), Right(yvy1610), ec, dc) → True
new_ltEs19(yvy167, yvy168, ty_Int) → new_ltEs7(yvy167, yvy168)
new_compare18(GT, GT) → EQ
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_esEs38(yvy4001, yvy3001, ty_Int) → new_esEs16(yvy4001, yvy3001)
new_esEs39(yvy1600, yvy1610, ty_Bool) → new_esEs20(yvy1600, yvy1610)
new_gt5(yvy40, yvy30, bca) → new_esEs41(new_compare6(yvy40, yvy30, bca))
new_esEs36(yvy205, yvy207, ty_Bool) → new_esEs20(yvy205, yvy207)
new_lt20(yvy1600, yvy1610, ty_@0) → new_lt15(yvy1600, yvy1610)
new_lt20(yvy1600, yvy1610, ty_Char) → new_lt19(yvy1600, yvy1610)
new_esEs10(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_esEs8(yvy401, yvy301, ty_Float) → new_esEs21(yvy401, yvy301)
new_esEs30(yvy192, yvy195, app(ty_Maybe, hb)) → new_esEs12(yvy192, yvy195, hb)
new_lt26(yvy20, yvy15, app(ty_Maybe, cce)) → new_lt18(yvy20, yvy15, cce)
new_esEs29(yvy4002, yvy3002, ty_Ordering) → new_esEs19(yvy4002, yvy3002)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Char) → new_ltEs16(yvy1600, yvy1610)
new_compare18(LT, GT) → LT
new_esEs27(yvy4000, yvy3000, app(ty_Maybe, dbb)) → new_esEs12(yvy4000, yvy3000, dbb)
new_gt10(yvy40, yvy30) → new_esEs41(new_compare27(yvy40, yvy30))
new_esEs32(yvy4000, yvy3000, ty_Char) → new_esEs23(yvy4000, yvy3000)
new_esEs7(yvy400, yvy300, app(app(ty_@2, bgb), bgc)) → new_esEs22(yvy400, yvy300, bgb, bgc)
new_lt21(yvy205, yvy207, ty_Bool) → new_lt14(yvy205, yvy207)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, app(app(ty_@2, eg), eh)) → new_ltEs9(yvy1600, yvy1610, eg, eh)
new_compare31(yvy400, yvy300, ty_Ordering) → new_compare18(yvy400, yvy300)
new_lt26(yvy20, yvy15, ty_Integer) → new_lt5(yvy20, yvy15)
new_esEs33(yvy4001, yvy3001, ty_Int) → new_esEs16(yvy4001, yvy3001)
new_esEs9(yvy400, yvy300, app(app(ty_Either, cch), cda)) → new_esEs13(yvy400, yvy300, cch, cda)
new_esEs9(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_esEs6(yvy402, yvy302, ty_Float) → new_esEs21(yvy402, yvy302)
new_gt8(yvy40, yvy30, bfd, bfe) → new_esEs41(new_compare29(yvy40, yvy30, bfd, bfe))
new_ltEs19(yvy167, yvy168, ty_Ordering) → new_ltEs6(yvy167, yvy168)
new_compare7(yvy40, yvy30) → new_primCmpInt(yvy40, yvy30)
new_esEs30(yvy192, yvy195, ty_@0) → new_esEs25(yvy192, yvy195)
new_esEs8(yvy401, yvy301, ty_Char) → new_esEs23(yvy401, yvy301)
new_esEs33(yvy4001, yvy3001, ty_Bool) → new_esEs20(yvy4001, yvy3001)
new_compare31(yvy400, yvy300, ty_Double) → new_compare9(yvy400, yvy300)
new_esEs5(yvy401, yvy301, app(app(ty_Either, eah), eba)) → new_esEs13(yvy401, yvy301, eah, eba)
new_esEs34(yvy4000, yvy3000, ty_Double) → new_esEs18(yvy4000, yvy3000)
new_esEs31(yvy193, yvy196, app(ty_[], bae)) → new_esEs15(yvy193, yvy196, bae)
new_ltEs18(yvy194, yvy197, ty_Ordering) → new_ltEs6(yvy194, yvy197)
new_esEs29(yvy4002, yvy3002, ty_Float) → new_esEs21(yvy4002, yvy3002)
new_lt23(yvy1601, yvy1611, ty_Bool) → new_lt14(yvy1601, yvy1611)
new_compare110(yvy279, yvy280, yvy281, yvy282, False, yvy284, cbd, cbe) → new_compare111(yvy279, yvy280, yvy281, yvy282, yvy284, cbd, cbe)
new_lt22(yvy1600, yvy1610, app(app(ty_Either, fce), fcf)) → new_lt16(yvy1600, yvy1610, fce, fcf)
new_ltEs20(yvy174, yvy175, app(app(app(ty_@3, bce), bcf), bcg)) → new_ltEs5(yvy174, yvy175, bce, bcf, bcg)
new_gt15(yvy40, yvy30, ty_Double) → new_gt7(yvy40, yvy30)
new_esEs10(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_esEs30(yvy192, yvy195, ty_Float) → new_esEs21(yvy192, yvy195)
new_gt15(yvy40, yvy30, app(app(ty_@2, bfd), bfe)) → new_gt8(yvy40, yvy30, bfd, bfe)
new_esEs32(yvy4000, yvy3000, app(app(ty_@2, deh), dfa)) → new_esEs22(yvy4000, yvy3000, deh, dfa)
new_ltEs19(yvy167, yvy168, app(ty_Ratio, eac)) → new_ltEs17(yvy167, yvy168, eac)
new_ltEs17(yvy160, yvy161, cbc) → new_fsEs(new_compare6(yvy160, yvy161, cbc))
new_esEs25(@0, @0) → True
new_gt1(yvy40, yvy30, cb, cc, cd) → new_esEs41(new_compare17(yvy40, yvy30, cb, cc, cd))
new_compare111(yvy279, yvy280, yvy281, yvy282, True, cbd, cbe) → LT
new_esEs35(yvy1600, yvy1610, ty_Double) → new_esEs18(yvy1600, yvy1610)
new_lt20(yvy1600, yvy1610, app(ty_Maybe, efe)) → new_lt18(yvy1600, yvy1610, efe)
new_esEs27(yvy4000, yvy3000, ty_Char) → new_esEs23(yvy4000, yvy3000)
new_esEs13(Left(yvy4000), Left(yvy3000), app(app(app(ty_@3, fge), fgf), fgg), eae) → new_esEs24(yvy4000, yvy3000, fge, fgf, fgg)
new_esEs8(yvy401, yvy301, ty_Double) → new_esEs18(yvy401, yvy301)
new_ltEs6(EQ, EQ) → True
new_esEs26(GT) → False
new_ltEs20(yvy174, yvy175, app(ty_Ratio, bdf)) → new_ltEs17(yvy174, yvy175, bdf)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_@0) → new_ltEs11(yvy1600, yvy1610)
new_esEs28(yvy4001, yvy3001, ty_Int) → new_esEs16(yvy4001, yvy3001)
new_esEs5(yvy401, yvy301, app(app(ty_@2, ebd), ebe)) → new_esEs22(yvy401, yvy301, ebd, ebe)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(app(ty_Either, df), dg), dc) → new_ltEs4(yvy1600, yvy1610, df, dg)
new_primEqInt(Neg(Succ(yvy40000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(yvy30000))) → False
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Ordering, eae) → new_esEs19(yvy4000, yvy3000)
new_lt22(yvy1600, yvy1610, app(app(app(ty_@3, fbh), fca), fcb)) → new_lt9(yvy1600, yvy1610, fbh, fca, fcb)
new_gt12(yvy40, yvy30) → new_esEs41(new_compare8(yvy40, yvy30))
new_esEs7(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_compare10(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, True, yvy271, bg, bh, ca) → new_compare11(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, True, bg, bh, ca)
new_esEs39(yvy1600, yvy1610, app(ty_Maybe, fcg)) → new_esEs12(yvy1600, yvy1610, fcg)
new_esEs5(yvy401, yvy301, app(ty_Maybe, ebf)) → new_esEs12(yvy401, yvy301, ebf)
new_ltEs21(yvy160, yvy161, app(app(ty_Either, ec), dc)) → new_ltEs4(yvy160, yvy161, ec, dc)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, app(app(ty_@2, fhd), fhe)) → new_esEs22(yvy4000, yvy3000, fhd, fhe)
new_esEs39(yvy1600, yvy1610, app(ty_Ratio, fda)) → new_esEs14(yvy1600, yvy1610, fda)
new_gt15(yvy40, yvy30, ty_Char) → new_gt13(yvy40, yvy30)
new_esEs7(yvy400, yvy300, app(app(app(ty_@3, bge), bgf), bgg)) → new_esEs24(yvy400, yvy300, bge, bgf, bgg)
new_ltEs24(yvy1602, yvy1612, app(app(app(ty_@3, fed), fee), fef)) → new_ltEs5(yvy1602, yvy1612, fed, fee, fef)
new_ltEs19(yvy167, yvy168, ty_@0) → new_ltEs11(yvy167, yvy168)
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Int) → new_esEs16(yvy4000, yvy3000)
new_esEs35(yvy1600, yvy1610, ty_Char) → new_esEs23(yvy1600, yvy1610)
new_compare5(:(yvy400, yvy401), [], bf) → GT
new_esEs31(yvy193, yvy196, ty_Double) → new_esEs18(yvy193, yvy196)
new_esEs29(yvy4002, yvy3002, app(ty_Maybe, ddf)) → new_esEs12(yvy4002, yvy3002, ddf)
new_esEs30(yvy192, yvy195, ty_Int) → new_esEs16(yvy192, yvy195)
new_lt7(yvy192, yvy195, app(ty_Maybe, hb)) → new_lt18(yvy192, yvy195, hb)
new_esEs18(Double(yvy4000, yvy4001), Double(yvy3000, yvy3001)) → new_esEs16(new_sr0(yvy4000, yvy3000), new_sr0(yvy4001, yvy3001))
new_esEs6(yvy402, yvy302, ty_Bool) → new_esEs20(yvy402, yvy302)
new_esEs40(yvy1601, yvy1611, app(app(ty_Either, fdg), fdh)) → new_esEs13(yvy1601, yvy1611, fdg, fdh)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Char, dc) → new_ltEs16(yvy1600, yvy1610)
new_primCompAux00(yvy180, LT) → LT
new_esEs33(yvy4001, yvy3001, app(app(ty_@2, dgb), dgc)) → new_esEs22(yvy4001, yvy3001, dgb, dgc)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, ty_Float) → new_ltEs12(yvy1600, yvy1610)
new_esEs15([], [], eag) → True
new_ltEs23(yvy206, yvy208, ty_Bool) → new_ltEs10(yvy206, yvy208)
new_lt8(yvy193, yvy196, app(ty_[], bae)) → new_lt4(yvy193, yvy196, bae)
new_primEqInt(Pos(Succ(yvy40000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(yvy30000))) → False
new_lt8(yvy193, yvy196, app(app(ty_@2, hh), baa)) → new_lt13(yvy193, yvy196, hh, baa)
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_esEs33(yvy4001, yvy3001, app(app(app(ty_@3, dge), dgf), dgg)) → new_esEs24(yvy4001, yvy3001, dge, dgf, dgg)
new_esEs5(yvy401, yvy301, ty_Ordering) → new_esEs19(yvy401, yvy301)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_ltEs21(yvy160, yvy161, app(ty_Ratio, cbc)) → new_ltEs17(yvy160, yvy161, cbc)
new_esEs36(yvy205, yvy207, ty_Double) → new_esEs18(yvy205, yvy207)
new_lt26(yvy20, yvy15, ty_Float) → new_lt17(yvy20, yvy15)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_esEs34(yvy4000, yvy3000, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_esEs7(yvy400, yvy300, app(ty_Maybe, bgd)) → new_esEs12(yvy400, yvy300, bgd)
new_primEqInt(Pos(Succ(yvy40000)), Neg(yvy3000)) → False
new_primEqInt(Neg(Succ(yvy40000)), Pos(yvy3000)) → False
new_esEs8(yvy401, yvy301, app(app(ty_Either, bgh), bha)) → new_esEs13(yvy401, yvy301, bgh, bha)
new_esEs35(yvy1600, yvy1610, ty_Int) → new_esEs16(yvy1600, yvy1610)
new_esEs20(False, False) → True
new_esEs12(Just(yvy4000), Just(yvy3000), app(app(app(ty_@3, chf), chg), chh)) → new_esEs24(yvy4000, yvy3000, chf, chg, chh)
new_ltEs24(yvy1602, yvy1612, ty_Bool) → new_ltEs10(yvy1602, yvy1612)
new_lt20(yvy1600, yvy1610, app(app(ty_@2, efa), efb)) → new_lt13(yvy1600, yvy1610, efa, efb)
new_ltEs19(yvy167, yvy168, app(app(ty_@2, dhe), dhf)) → new_ltEs9(yvy167, yvy168, dhe, dhf)
new_compare18(EQ, LT) → GT
new_lt18(yvy40, yvy30, bdg) → new_esEs26(new_compare28(yvy40, yvy30, bdg))
new_esEs10(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_lt23(yvy1601, yvy1611, ty_Char) → new_lt19(yvy1601, yvy1611)
new_ltEs18(yvy194, yvy197, app(app(ty_@2, bbb), bbc)) → new_ltEs9(yvy194, yvy197, bbb, bbc)
new_lt20(yvy1600, yvy1610, app(app(app(ty_@3, eef), eeg), eeh)) → new_lt9(yvy1600, yvy1610, eef, eeg, eeh)
new_lt23(yvy1601, yvy1611, app(app(app(ty_@3, fdb), fdc), fdd)) → new_lt9(yvy1601, yvy1611, fdb, fdc, fdd)
new_ltEs23(yvy206, yvy208, ty_@0) → new_ltEs11(yvy206, yvy208)
new_esEs9(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_esEs41(EQ) → False
new_esEs40(yvy1601, yvy1611, ty_@0) → new_esEs25(yvy1601, yvy1611)
new_esEs5(yvy401, yvy301, app(app(app(ty_@3, ebg), ebh), eca)) → new_esEs24(yvy401, yvy301, ebg, ebh, eca)
new_lt15(yvy40, yvy30) → new_esEs26(new_compare27(yvy40, yvy30))
new_compare26(yvy174, yvy175, True, bcd) → EQ
new_ltEs23(yvy206, yvy208, ty_Double) → new_ltEs8(yvy206, yvy208)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, ty_Char) → new_ltEs16(yvy1600, yvy1610)
new_lt23(yvy1601, yvy1611, ty_Float) → new_lt17(yvy1601, yvy1611)
new_esEs11(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Ordering) → new_ltEs6(yvy1600, yvy1610)
new_ltEs4(Right(yvy1600), Left(yvy1610), ec, dc) → False
new_ltEs23(yvy206, yvy208, app(ty_Ratio, fbg)) → new_ltEs17(yvy206, yvy208, fbg)
new_esEs10(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_esEs33(yvy4001, yvy3001, ty_Double) → new_esEs18(yvy4001, yvy3001)
new_esEs8(yvy401, yvy301, ty_Ordering) → new_esEs19(yvy401, yvy301)
new_esEs40(yvy1601, yvy1611, ty_Integer) → new_esEs17(yvy1601, yvy1611)
new_esEs6(yvy402, yvy302, app(app(ty_@2, ecf), ecg)) → new_esEs22(yvy402, yvy302, ecf, ecg)
new_ltEs24(yvy1602, yvy1612, ty_Float) → new_ltEs12(yvy1602, yvy1612)
new_esEs31(yvy193, yvy196, app(ty_Ratio, baf)) → new_esEs14(yvy193, yvy196, baf)
new_esEs36(yvy205, yvy207, ty_Int) → new_esEs16(yvy205, yvy207)
new_lt21(yvy205, yvy207, app(app(app(ty_@3, ehd), ehe), ehf)) → new_lt9(yvy205, yvy207, ehd, ehe, ehf)
new_esEs4(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_esEs19(LT, GT) → False
new_esEs19(GT, LT) → False
new_ltEs19(yvy167, yvy168, app(ty_[], eab)) → new_ltEs15(yvy167, yvy168, eab)
new_lt21(yvy205, yvy207, ty_Char) → new_lt19(yvy205, yvy207)
new_lt6(yvy40, yvy30, bca) → new_esEs26(new_compare6(yvy40, yvy30, bca))
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_lt26(yvy20, yvy15, app(app(app(ty_@3, cbf), cbg), cbh)) → new_lt9(yvy20, yvy15, cbf, cbg, cbh)
new_primMulInt(Pos(yvy4000), Pos(yvy3000)) → Pos(new_primMulNat0(yvy4000, yvy3000))
new_gt3(yvy40, yvy30) → new_esEs41(new_compare7(yvy40, yvy30))
new_compare31(yvy400, yvy300, ty_Bool) → new_compare12(yvy400, yvy300)
new_esEs6(yvy402, yvy302, app(app(app(ty_@3, eda), edb), edc)) → new_esEs24(yvy402, yvy302, eda, edb, edc)
new_esEs10(yvy400, yvy300, app(app(ty_Either, ceb), cec)) → new_esEs13(yvy400, yvy300, ceb, cec)
new_lt8(yvy193, yvy196, ty_Float) → new_lt17(yvy193, yvy196)
new_esEs4(yvy400, yvy300, app(ty_Ratio, eaf)) → new_esEs14(yvy400, yvy300, eaf)
new_primPlusNat0(Zero, Zero) → Zero
new_ltEs6(LT, LT) → True
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs36(yvy205, yvy207, ty_@0) → new_esEs25(yvy205, yvy207)
new_esEs5(yvy401, yvy301, ty_Double) → new_esEs18(yvy401, yvy301)
new_lt8(yvy193, yvy196, ty_Bool) → new_lt14(yvy193, yvy196)
new_lt26(yvy20, yvy15, app(ty_Ratio, ccg)) → new_lt6(yvy20, yvy15, ccg)
new_lt12(yvy40, yvy30) → new_esEs26(new_compare9(yvy40, yvy30))
new_lt23(yvy1601, yvy1611, ty_Double) → new_lt12(yvy1601, yvy1611)
new_esEs9(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_compare19(Float(yvy400, yvy401), Float(yvy300, yvy301)) → new_compare7(new_sr0(yvy400, yvy300), new_sr0(yvy401, yvy301))
new_ltEs21(yvy160, yvy161, app(app(app(ty_@3, cad), cae), caf)) → new_ltEs5(yvy160, yvy161, cad, cae, caf)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Integer, dc) → new_ltEs14(yvy1600, yvy1610)
new_ltEs24(yvy1602, yvy1612, app(ty_Maybe, ffc)) → new_ltEs13(yvy1602, yvy1612, ffc)
new_lt26(yvy20, yvy15, app(ty_[], ccf)) → new_lt4(yvy20, yvy15, ccf)
new_compare13(yvy252, yvy253, False, fg) → GT
new_ltEs18(yvy194, yvy197, app(app(app(ty_@3, bag), bah), bba)) → new_ltEs5(yvy194, yvy197, bag, bah, bba)
new_ltEs12(yvy160, yvy161) → new_fsEs(new_compare19(yvy160, yvy161))
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_esEs36(yvy205, yvy207, app(app(ty_@2, ehg), ehh)) → new_esEs22(yvy205, yvy207, ehg, ehh)
new_sr0(yvy400, yvy300) → new_primMulInt(yvy400, yvy300)
new_ltEs22(yvy1601, yvy1611, ty_Integer) → new_ltEs14(yvy1601, yvy1611)
new_compare15(yvy245, yvy246, False, bfb, bfc) → GT
new_esEs36(yvy205, yvy207, app(app(app(ty_@3, ehd), ehe), ehf)) → new_esEs24(yvy205, yvy207, ehd, ehe, ehf)
new_ltEs15(yvy160, yvy161, cbb) → new_fsEs(new_compare5(yvy160, yvy161, cbb))
new_esEs34(yvy4000, yvy3000, ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_lt26(yvy20, yvy15, ty_Int) → new_lt11(yvy20, yvy15)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_@0) → new_esEs25(yvy4000, yvy3000)
new_gt15(yvy40, yvy30, app(ty_[], bf)) → new_gt0(yvy40, yvy30, bf)
new_esEs19(EQ, GT) → False
new_esEs19(GT, EQ) → False
new_lt13(yvy40, yvy30, bfd, bfe) → new_esEs26(new_compare29(yvy40, yvy30, bfd, bfe))
new_ltEs13(Just(yvy1600), Just(yvy1610), app(ty_Maybe, gba)) → new_ltEs13(yvy1600, yvy1610, gba)
new_esEs33(yvy4001, yvy3001, app(ty_Maybe, dgd)) → new_esEs12(yvy4001, yvy3001, dgd)
new_esEs35(yvy1600, yvy1610, app(ty_Ratio, efg)) → new_esEs14(yvy1600, yvy1610, efg)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Double) → new_esEs18(yvy4000, yvy3000)
new_esEs27(yvy4000, yvy3000, ty_Double) → new_esEs18(yvy4000, yvy3000)
new_ltEs9(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), cag, cah) → new_pePe(new_lt20(yvy1600, yvy1610, cag), new_asAs(new_esEs35(yvy1600, yvy1610, cag), new_ltEs22(yvy1601, yvy1611, cah)))
new_ltEs13(Just(yvy1600), Nothing, cba) → False
new_esEs27(yvy4000, yvy3000, app(ty_Ratio, daf)) → new_esEs14(yvy4000, yvy3000, daf)
new_esEs28(yvy4001, yvy3001, ty_Bool) → new_esEs20(yvy4001, yvy3001)
new_lt22(yvy1600, yvy1610, ty_Ordering) → new_lt10(yvy1600, yvy1610)
new_lt7(yvy192, yvy195, ty_Integer) → new_lt5(yvy192, yvy195)
new_esEs10(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Char, eae) → new_esEs23(yvy4000, yvy3000)
new_esEs11(yvy400, yvy300, app(app(ty_@2, bed), bee)) → new_esEs22(yvy400, yvy300, bed, bee)
new_esEs8(yvy401, yvy301, ty_Integer) → new_esEs17(yvy401, yvy301)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primMulNat0(Succ(yvy40000), Zero) → Zero
new_esEs35(yvy1600, yvy1610, ty_Bool) → new_esEs20(yvy1600, yvy1610)
new_lt21(yvy205, yvy207, ty_Int) → new_lt11(yvy205, yvy207)
new_esEs33(yvy4001, yvy3001, ty_Ordering) → new_esEs19(yvy4001, yvy3001)
new_esEs31(yvy193, yvy196, ty_Ordering) → new_esEs19(yvy193, yvy196)
new_gt15(yvy40, yvy30, ty_Integer) → new_gt12(yvy40, yvy30)
new_lt10(yvy40, yvy30) → new_esEs26(new_compare18(yvy40, yvy30))
new_ltEs19(yvy167, yvy168, ty_Char) → new_ltEs16(yvy167, yvy168)
new_esEs4(yvy400, yvy300, app(ty_Maybe, cgf)) → new_esEs12(yvy400, yvy300, cgf)
new_ltEs23(yvy206, yvy208, ty_Char) → new_ltEs16(yvy206, yvy208)
new_esEs32(yvy4000, yvy3000, ty_Double) → new_esEs18(yvy4000, yvy3000)
new_esEs6(yvy402, yvy302, ty_Double) → new_esEs18(yvy402, yvy302)
new_esEs4(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_esEs4(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_compare12(False, False) → EQ
new_compare6(:%(yvy400, yvy401), :%(yvy300, yvy301), ty_Int) → new_compare7(new_sr0(yvy400, yvy301), new_sr0(yvy300, yvy401))
new_lt23(yvy1601, yvy1611, app(app(ty_@2, fde), fdf)) → new_lt13(yvy1601, yvy1611, fde, fdf)
new_esEs8(yvy401, yvy301, ty_Int) → new_esEs16(yvy401, yvy301)
new_ltEs14(yvy160, yvy161) → new_fsEs(new_compare8(yvy160, yvy161))
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Double, eae) → new_esEs18(yvy4000, yvy3000)
new_lt21(yvy205, yvy207, ty_@0) → new_lt15(yvy205, yvy207)
new_compare211(yvy160, yvy161, True, cab, cac) → EQ
new_lt8(yvy193, yvy196, ty_Char) → new_lt19(yvy193, yvy196)
new_esEs41(LT) → False
new_ltEs19(yvy167, yvy168, app(app(app(ty_@3, dhb), dhc), dhd)) → new_ltEs5(yvy167, yvy168, dhb, dhc, dhd)
new_esEs34(yvy4000, yvy3000, ty_Char) → new_esEs23(yvy4000, yvy3000)
new_esEs13(Left(yvy4000), Left(yvy3000), app(ty_[], fga), eae) → new_esEs15(yvy4000, yvy3000, fga)
new_compare16(Right(yvy400), Left(yvy300), ce, cf) → GT
new_esEs11(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_ltEs20(yvy174, yvy175, app(ty_[], bde)) → new_ltEs15(yvy174, yvy175, bde)
new_ltEs19(yvy167, yvy168, app(ty_Maybe, eaa)) → new_ltEs13(yvy167, yvy168, eaa)
new_esEs40(yvy1601, yvy1611, app(ty_Maybe, fea)) → new_esEs12(yvy1601, yvy1611, fea)
new_esEs8(yvy401, yvy301, app(ty_Ratio, bhb)) → new_esEs14(yvy401, yvy301, bhb)
new_esEs9(yvy400, yvy300, app(app(app(ty_@3, cdg), cdh), cea)) → new_esEs24(yvy400, yvy300, cdg, cdh, cea)
new_esEs9(yvy400, yvy300, app(ty_Maybe, cdf)) → new_esEs12(yvy400, yvy300, cdf)
new_lt7(yvy192, yvy195, ty_@0) → new_lt15(yvy192, yvy195)
new_gt7(yvy40, yvy30) → new_esEs41(new_compare9(yvy40, yvy30))
new_ltEs20(yvy174, yvy175, ty_Double) → new_ltEs8(yvy174, yvy175)
new_compare26(yvy174, yvy175, False, bcd) → new_compare13(yvy174, yvy175, new_ltEs20(yvy174, yvy175, bcd), bcd)
new_compare18(LT, LT) → EQ
new_esEs36(yvy205, yvy207, ty_Ordering) → new_esEs19(yvy205, yvy207)
new_lt22(yvy1600, yvy1610, ty_Double) → new_lt12(yvy1600, yvy1610)
new_lt23(yvy1601, yvy1611, ty_Integer) → new_lt5(yvy1601, yvy1611)
new_ltEs23(yvy206, yvy208, app(ty_Maybe, fbe)) → new_ltEs13(yvy206, yvy208, fbe)
new_esEs35(yvy1600, yvy1610, app(app(ty_Either, efc), efd)) → new_esEs13(yvy1600, yvy1610, efc, efd)
new_ltEs22(yvy1601, yvy1611, ty_Bool) → new_ltEs10(yvy1601, yvy1611)
new_lt22(yvy1600, yvy1610, ty_Bool) → new_lt14(yvy1600, yvy1610)
new_esEs13(Right(yvy4000), Right(yvy3000), ead, app(app(app(ty_@3, fhg), fhh), gaa)) → new_esEs24(yvy4000, yvy3000, fhg, fhh, gaa)
new_lt7(yvy192, yvy195, ty_Int) → new_lt11(yvy192, yvy195)
new_primMulNat0(Succ(yvy40000), Succ(yvy30000)) → new_primPlusNat0(new_primMulNat0(yvy40000, Succ(yvy30000)), Succ(yvy30000))
new_esEs10(yvy400, yvy300, app(ty_Ratio, ced)) → new_esEs14(yvy400, yvy300, ced)
new_esEs35(yvy1600, yvy1610, ty_@0) → new_esEs25(yvy1600, yvy1610)
new_esEs35(yvy1600, yvy1610, app(ty_[], eff)) → new_esEs15(yvy1600, yvy1610, eff)
new_compare24(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, True, fh, ga, gb) → EQ
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_esEs11(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_lt20(yvy1600, yvy1610, ty_Ordering) → new_lt10(yvy1600, yvy1610)
new_lt7(yvy192, yvy195, ty_Char) → new_lt19(yvy192, yvy195)
new_ltEs21(yvy160, yvy161, ty_Integer) → new_ltEs14(yvy160, yvy161)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Char) → new_esEs23(yvy4000, yvy3000)
new_compare24(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, False, fh, ga, gb) → new_compare10(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, new_lt7(yvy192, yvy195, fh), new_asAs(new_esEs30(yvy192, yvy195, fh), new_pePe(new_lt8(yvy193, yvy196, ga), new_asAs(new_esEs31(yvy193, yvy196, ga), new_ltEs18(yvy194, yvy197, gb)))), fh, ga, gb)
new_lt7(yvy192, yvy195, app(app(ty_Either, gh), ha)) → new_lt16(yvy192, yvy195, gh, ha)
new_ltEs13(Just(yvy1600), Just(yvy1610), app(ty_Ratio, gbc)) → new_ltEs17(yvy1600, yvy1610, gbc)
new_compare27(@0, @0) → EQ
new_compare30(Char(yvy400), Char(yvy300)) → new_primCmpNat0(yvy400, yvy300)
new_compare31(yvy400, yvy300, ty_Int) → new_compare7(yvy400, yvy300)
new_esEs31(yvy193, yvy196, ty_Float) → new_esEs21(yvy193, yvy196)
new_esEs11(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_esEs31(yvy193, yvy196, ty_Char) → new_esEs23(yvy193, yvy196)
new_esEs28(yvy4001, yvy3001, app(ty_Maybe, dcd)) → new_esEs12(yvy4001, yvy3001, dcd)
new_esEs23(Char(yvy4000), Char(yvy3000)) → new_primEqNat0(yvy4000, yvy3000)
new_esEs31(yvy193, yvy196, app(app(ty_Either, bab), bac)) → new_esEs13(yvy193, yvy196, bab, bac)
new_lt16(yvy40, yvy30, ce, cf) → new_esEs26(new_compare16(yvy40, yvy30, ce, cf))
new_compare18(LT, EQ) → LT
new_ltEs24(yvy1602, yvy1612, app(app(ty_Either, ffa), ffb)) → new_ltEs4(yvy1602, yvy1612, ffa, ffb)
new_esEs36(yvy205, yvy207, ty_Float) → new_esEs21(yvy205, yvy207)
new_esEs31(yvy193, yvy196, ty_Int) → new_esEs16(yvy193, yvy196)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_esEs29(yvy4002, yvy3002, app(ty_Ratio, ddb)) → new_esEs14(yvy4002, yvy3002, ddb)
new_ltEs21(yvy160, yvy161, app(app(ty_@2, cag), cah)) → new_ltEs9(yvy160, yvy161, cag, cah)
new_lt7(yvy192, yvy195, ty_Float) → new_lt17(yvy192, yvy195)
new_primCompAux00(yvy180, GT) → GT
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs39(yvy1600, yvy1610, ty_@0) → new_esEs25(yvy1600, yvy1610)
new_lt8(yvy193, yvy196, app(app(ty_Either, bab), bac)) → new_lt16(yvy193, yvy196, bab, bac)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(app(app(ty_@3, cg), da), db), dc) → new_ltEs5(yvy1600, yvy1610, cg, da, db)
new_esEs39(yvy1600, yvy1610, ty_Double) → new_esEs18(yvy1600, yvy1610)
new_ltEs23(yvy206, yvy208, app(app(app(ty_@3, faf), fag), fah)) → new_ltEs5(yvy206, yvy208, faf, fag, fah)
new_esEs5(yvy401, yvy301, app(ty_Ratio, ebb)) → new_esEs14(yvy401, yvy301, ebb)
new_esEs33(yvy4001, yvy3001, ty_@0) → new_esEs25(yvy4001, yvy3001)
new_gt15(yvy40, yvy30, ty_Float) → new_gt4(yvy40, yvy30)
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_lt23(yvy1601, yvy1611, ty_@0) → new_lt15(yvy1601, yvy1611)
new_lt21(yvy205, yvy207, ty_Float) → new_lt17(yvy205, yvy207)
new_lt7(yvy192, yvy195, ty_Ordering) → new_lt10(yvy192, yvy195)
new_esEs34(yvy4000, yvy3000, app(app(ty_Either, edd), ede)) → new_esEs13(yvy4000, yvy3000, edd, ede)
new_ltEs4(Right(yvy1600), Right(yvy1610), ec, app(app(app(ty_@3, ed), ee), ef)) → new_ltEs5(yvy1600, yvy1610, ed, ee, ef)

The set Q consists of the following terms:

new_esEs7(x0, x1, ty_Char)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs40(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_@0)
new_lt23(x0, x1, ty_@0)
new_lt20(x0, x1, ty_Bool)
new_esEs15([], [], x0)
new_esEs13(Left(x0), Left(x1), ty_Bool, x2)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs32(x0, x1, ty_Char)
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs13(Nothing, Nothing, x0)
new_esEs9(x0, x1, ty_Integer)
new_esEs8(x0, x1, ty_Int)
new_esEs13(Left(x0), Left(x1), ty_Int, x2)
new_lt21(x0, x1, ty_Double)
new_esEs33(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs11(x0, x1)
new_lt7(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, ty_Ordering)
new_esEs8(x0, x1, ty_Double)
new_esEs39(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(x0, x1, app(ty_Maybe, x2))
new_gt13(x0, x1)
new_compare110(x0, x1, x2, x3, True, x4, x5, x6)
new_esEs33(x0, x1, ty_@0)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Char)
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs12(Just(x0), Nothing, x1)
new_ltEs21(x0, x1, ty_Ordering)
new_compare31(x0, x1, ty_@0)
new_esEs4(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Integer)
new_ltEs24(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, ty_Integer)
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs18(x0, x1, ty_Ordering)
new_ltEs23(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_@0)
new_esEs12(Just(x0), Just(x1), ty_Bool)
new_ltEs15(x0, x1, x2)
new_esEs35(x0, x1, ty_Float)
new_esEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs36(x0, x1, ty_@0)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(ty_[], x2))
new_lt22(x0, x1, ty_Bool)
new_esEs33(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, ty_Char)
new_esEs35(x0, x1, ty_Int)
new_ltEs6(EQ, EQ)
new_primCompAux00(x0, EQ)
new_esEs5(x0, x1, app(ty_[], x2))
new_esEs40(x0, x1, ty_@0)
new_ltEs17(x0, x1, x2)
new_esEs8(x0, x1, ty_Bool)
new_compare11(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_ltEs6(LT, EQ)
new_compare5([], :(x0, x1), x2)
new_ltEs6(EQ, LT)
new_esEs11(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, ty_Float)
new_lt23(x0, x1, ty_Integer)
new_primEqNat0(Zero, Zero)
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs39(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs4(x0, x1, app(ty_[], x2))
new_ltEs22(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_Float)
new_ltEs23(x0, x1, ty_Int)
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs33(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(x0, x1, ty_Integer)
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_Double)
new_compare28(Just(x0), Nothing, x1)
new_esEs33(x0, x1, ty_Ordering)
new_lt7(x0, x1, app(ty_Maybe, x2))
new_primMulNat0(Zero, Zero)
new_lt26(x0, x1, ty_Ordering)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_gt15(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13(Right(x0), Right(x1), x2, ty_Int)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_compare18(LT, LT)
new_esEs35(x0, x1, app(app(ty_@2, x2), x3))
new_lt8(x0, x1, ty_Char)
new_primMulNat0(Succ(x0), Succ(x1))
new_gt15(x0, x1, ty_Char)
new_compare26(x0, x1, False, x2)
new_esEs27(x0, x1, ty_Float)
new_esEs35(x0, x1, ty_Ordering)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs13(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs30(x0, x1, ty_Float)
new_ltEs24(x0, x1, app(ty_Maybe, x2))
new_ltEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(LT, LT)
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_esEs20(True, True)
new_primEqNat0(Zero, Succ(x0))
new_esEs13(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs13(Right(x0), Right(x1), x2, ty_Double)
new_lt22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs12(Just(x0), Just(x1), ty_Char)
new_compare24(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_esEs9(x0, x1, ty_@0)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_esEs35(x0, x1, ty_Integer)
new_esEs9(x0, x1, app(ty_[], x2))
new_gt8(x0, x1, x2, x3)
new_lt22(x0, x1, app(ty_Ratio, x2))
new_compare110(x0, x1, x2, x3, False, x4, x5, x6)
new_ltEs13(Just(x0), Just(x1), ty_Float)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, ty_Bool)
new_esEs7(x0, x1, ty_Int)
new_ltEs7(x0, x1)
new_esEs13(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs33(x0, x1, app(ty_Ratio, x2))
new_esEs12(Just(x0), Just(x1), app(ty_[], x2))
new_primMulNat0(Succ(x0), Zero)
new_ltEs22(x0, x1, ty_Int)
new_ltEs22(x0, x1, ty_Bool)
new_esEs37(x0, x1, ty_Integer)
new_compare24(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_esEs34(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs13(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs20(False, False)
new_esEs38(x0, x1, ty_Integer)
new_compare12(False, False)
new_compare18(GT, GT)
new_esEs40(x0, x1, ty_Ordering)
new_lt8(x0, x1, ty_Integer)
new_esEs39(x0, x1, ty_Double)
new_esEs32(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Char)
new_lt23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(False, False)
new_lt18(x0, x1, x2)
new_lt21(x0, x1, app(ty_Ratio, x2))
new_esEs36(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs13(Right(x0), Right(x1), x2, ty_Integer)
new_lt23(x0, x1, app(ty_Maybe, x2))
new_ltEs13(Just(x0), Just(x1), app(ty_Maybe, x2))
new_gt15(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, ty_Int)
new_ltEs21(x0, x1, ty_Bool)
new_lt21(x0, x1, ty_Char)
new_esEs12(Just(x0), Just(x1), ty_Integer)
new_esEs7(x0, x1, ty_Float)
new_gt1(x0, x1, x2, x3, x4)
new_compare16(Left(x0), Left(x1), x2, x3)
new_esEs34(x0, x1, ty_@0)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, ty_Bool)
new_lt7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs6(x0, x1, app(ty_[], x2))
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs39(x0, x1, ty_@0)
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, ty_Int)
new_esEs40(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_esEs40(x0, x1, ty_Integer)
new_compare16(Left(x0), Right(x1), x2, x3)
new_compare16(Right(x0), Left(x1), x2, x3)
new_lt20(x0, x1, ty_Double)
new_esEs32(x0, x1, ty_Int)
new_lt7(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs35(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Int)
new_ltEs24(x0, x1, ty_Double)
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs11(x0, x1, ty_Bool)
new_esEs8(x0, x1, ty_Ordering)
new_esEs32(x0, x1, ty_@0)
new_ltEs18(x0, x1, ty_Bool)
new_esEs6(x0, x1, ty_Float)
new_ltEs5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs8(x0, x1, ty_Char)
new_esEs22(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt5(x0, x1)
new_sr0(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_ltEs13(Just(x0), Just(x1), ty_Bool)
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs33(x0, x1, ty_Int)
new_esEs6(x0, x1, ty_Double)
new_esEs32(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Neg(Zero))
new_lt21(x0, x1, ty_@0)
new_gt15(x0, x1, ty_Bool)
new_compare5([], [], x0)
new_esEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_lt26(x0, x1, app(ty_[], x2))
new_primCmpNat0(Zero, Succ(x0))
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_lt8(x0, x1, ty_@0)
new_esEs5(x0, x1, ty_Float)
new_esEs35(x0, x1, app(ty_Maybe, x2))
new_lt8(x0, x1, ty_Ordering)
new_lt7(x0, x1, ty_@0)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_gt15(x0, x1, app(ty_Maybe, x2))
new_ltEs24(x0, x1, ty_Float)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_compare30(Char(x0), Char(x1))
new_esEs6(x0, x1, ty_@0)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt10(x0, x1)
new_esEs30(x0, x1, ty_Integer)
new_esEs4(x0, x1, ty_Bool)
new_compare9(Double(x0, x1), Double(x2, x3))
new_esEs34(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Float)
new_esEs26(LT)
new_ltEs21(x0, x1, ty_Int)
new_esEs8(x0, x1, ty_@0)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs33(x0, x1, ty_Char)
new_ltEs6(LT, LT)
new_lt23(x0, x1, ty_Double)
new_esEs39(x0, x1, app(app(ty_@2, x2), x3))
new_compare31(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Integer)
new_compare13(x0, x1, True, x2)
new_compare31(x0, x1, app(ty_Maybe, x2))
new_ltEs13(Just(x0), Just(x1), ty_Integer)
new_esEs8(x0, x1, ty_Integer)
new_ltEs10(True, True)
new_esEs30(x0, x1, ty_@0)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, ty_Double)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt23(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, ty_Ordering)
new_esEs19(GT, GT)
new_ltEs22(x0, x1, app(ty_[], x2))
new_ltEs9(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs13(Just(x0), Just(x1), ty_@0)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs31(x0, x1, ty_Char)
new_gt15(x0, x1, ty_Double)
new_esEs13(Right(x0), Right(x1), x2, ty_@0)
new_lt20(x0, x1, ty_Integer)
new_lt26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, ty_Double)
new_lt26(x0, x1, ty_Char)
new_esEs7(x0, x1, ty_Double)
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Float)
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_sr(Integer(x0), Integer(x1))
new_lt9(x0, x1, x2, x3, x4)
new_lt26(x0, x1, ty_Integer)
new_ltEs23(x0, x1, ty_Bool)
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs19(EQ, LT)
new_esEs19(LT, EQ)
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_lt22(x0, x1, ty_Float)
new_not(True)
new_esEs13(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs9(x0, x1, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_lt8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_not(False)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_compare14(x0, x1, False, x2, x3)
new_lt22(x0, x1, ty_Ordering)
new_esEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs12(Just(x0), Just(x1), ty_Double)
new_esEs31(x0, x1, app(ty_[], x2))
new_ltEs6(GT, EQ)
new_ltEs6(EQ, GT)
new_esEs28(x0, x1, ty_Ordering)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs20(x0, x1, ty_Bool)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_lt16(x0, x1, x2, x3)
new_lt15(x0, x1)
new_esEs34(x0, x1, app(ty_Maybe, x2))
new_asAs(False, x0)
new_compare10(x0, x1, x2, x3, x4, x5, True, x6, x7, x8, x9)
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_lt22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs34(x0, x1, ty_Bool)
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, ty_Bool)
new_esEs34(x0, x1, ty_Float)
new_esEs28(x0, x1, ty_Int)
new_esEs13(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs27(x0, x1, ty_Char)
new_gt5(x0, x1, x2)
new_esEs39(x0, x1, ty_Integer)
new_ltEs10(True, False)
new_ltEs10(False, True)
new_gt15(x0, x1, ty_Int)
new_lt8(x0, x1, app(ty_[], x2))
new_esEs25(@0, @0)
new_compare15(x0, x1, True, x2, x3)
new_esEs28(x0, x1, ty_Bool)
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_compare27(@0, @0)
new_esEs39(x0, x1, ty_Char)
new_esEs13(Left(x0), Left(x1), ty_Double, x2)
new_ltEs24(x0, x1, ty_Integer)
new_lt8(x0, x1, ty_Int)
new_compare12(True, True)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs5(x0, x1, ty_Bool)
new_esEs12(Just(x0), Just(x1), ty_Int)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs33(x0, x1, ty_Bool)
new_esEs13(Left(x0), Left(x1), ty_@0, x2)
new_esEs34(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(Just(x0), Just(x1), ty_Float)
new_lt21(x0, x1, ty_Bool)
new_esEs15(:(x0, x1), :(x2, x3), x4)
new_esEs36(x0, x1, ty_Char)
new_ltEs19(x0, x1, ty_@0)
new_esEs33(x0, x1, ty_Double)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_ltEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, ty_Int)
new_esEs29(x0, x1, ty_Float)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs39(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_esEs33(x0, x1, ty_Float)
new_esEs4(x0, x1, ty_Int)
new_esEs13(Left(x0), Left(x1), app(ty_[], x2), x3)
new_lt23(x0, x1, ty_Bool)
new_lt6(x0, x1, x2)
new_ltEs23(x0, x1, ty_@0)
new_esEs13(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs36(x0, x1, ty_Float)
new_gt6(x0, x1)
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, ty_Bool)
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_compare28(Just(x0), Just(x1), x2)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare7(x0, x1)
new_compare6(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_lt26(x0, x1, app(ty_Ratio, x2))
new_esEs36(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Double)
new_compare210(x0, x1, x2, x3, True, x4, x5)
new_lt23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs35(x0, x1, ty_Bool)
new_lt21(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs8(x0, x1)
new_compare12(True, False)
new_compare12(False, True)
new_primPlusNat0(Succ(x0), Succ(x1))
new_compare16(Right(x0), Right(x1), x2, x3)
new_compare211(x0, x1, False, x2, x3)
new_lt22(x0, x1, ty_Char)
new_lt14(x0, x1)
new_ltEs19(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Char)
new_pePe(False, x0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_lt23(x0, x1, ty_Ordering)
new_esEs36(x0, x1, ty_Ordering)
new_esEs5(x0, x1, ty_Char)
new_esEs12(Nothing, Nothing, x0)
new_esEs10(x0, x1, ty_Ordering)
new_compare31(x0, x1, ty_Ordering)
new_esEs39(x0, x1, ty_Float)
new_esEs40(x0, x1, ty_Double)
new_gt0(x0, x1, x2)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs10(x0, x1, ty_Char)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs40(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs13(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_compare25(x0, x1, False, x2, x3)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs39(x0, x1, ty_Bool)
new_ltEs20(x0, x1, ty_Ordering)
new_lt7(x0, x1, ty_Int)
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_esEs4(x0, x1, ty_Integer)
new_ltEs22(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, ty_@0)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs13(Left(x0), Left(x1), ty_Char, x2)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_ltEs22(x0, x1, ty_Char)
new_ltEs19(x0, x1, ty_Bool)
new_lt26(x0, x1, ty_Bool)
new_esEs33(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(x0, x1, ty_Ordering)
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_lt7(x0, x1, ty_Ordering)
new_lt12(x0, x1)
new_gt4(x0, x1)
new_esEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_ltEs20(x0, x1, app(ty_[], x2))
new_primCompAux00(x0, LT)
new_compare31(x0, x1, ty_Float)
new_gt15(x0, x1, ty_Integer)
new_compare5(:(x0, x1), [], x2)
new_ltEs24(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, ty_Integer)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_primMulInt(Pos(x0), Pos(x1))
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs26(EQ)
new_esEs21(Float(x0, x1), Float(x2, x3))
new_ltEs18(x0, x1, ty_Integer)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs31(x0, x1, ty_Ordering)
new_esEs5(x0, x1, app(app(ty_@2, x2), x3))
new_lt23(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, ty_Double)
new_lt21(x0, x1, app(ty_Maybe, x2))
new_ltEs13(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_@0)
new_ltEs18(x0, x1, ty_Float)
new_lt22(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Bool)
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_lt8(x0, x1, ty_Double)
new_ltEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Char)
new_esEs36(x0, x1, app(ty_Maybe, x2))
new_lt21(x0, x1, ty_Float)
new_esEs26(GT)
new_compare10(x0, x1, x2, x3, x4, x5, False, x6, x7, x8, x9)
new_esEs29(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Int)
new_esEs5(x0, x1, ty_Double)
new_compare17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_primPlusNat0(Succ(x0), Zero)
new_ltEs12(x0, x1)
new_compare18(LT, EQ)
new_compare18(EQ, LT)
new_esEs34(x0, x1, ty_Int)
new_esEs13(Right(x0), Right(x1), x2, ty_Char)
new_ltEs18(x0, x1, ty_Int)
new_esEs30(x0, x1, ty_Bool)
new_lt23(x0, x1, ty_Int)
new_esEs6(x0, x1, ty_Ordering)
new_lt7(x0, x1, ty_Char)
new_ltEs13(Nothing, Just(x0), x1)
new_lt13(x0, x1, x2, x3)
new_esEs19(GT, EQ)
new_esEs19(EQ, GT)
new_esEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare15(x0, x1, False, x2, x3)
new_compare211(x0, x1, True, x2, x3)
new_esEs13(Left(x0), Left(x1), ty_Integer, x2)
new_esEs35(x0, x1, app(ty_Ratio, x2))
new_esEs6(x0, x1, ty_Bool)
new_esEs32(x0, x1, ty_Ordering)
new_primPlusNat0(Zero, Succ(x0))
new_lt7(x0, x1, ty_Double)
new_ltEs24(x0, x1, ty_Int)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, ty_Float)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt22(x0, x1, ty_Double)
new_esEs5(x0, x1, ty_@0)
new_lt20(x0, x1, ty_Ordering)
new_esEs41(GT)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, app(ty_[], x2))
new_esEs8(x0, x1, ty_Float)
new_esEs13(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs23(x0, x1, app(ty_[], x2))
new_esEs32(x0, x1, app(ty_[], x2))
new_esEs16(x0, x1)
new_gt15(x0, x1, ty_Ordering)
new_esEs7(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, ty_Int)
new_lt8(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_compare18(GT, LT)
new_compare18(LT, GT)
new_esEs36(x0, x1, ty_Int)
new_esEs20(False, True)
new_esEs20(True, False)
new_ltEs24(x0, x1, ty_Bool)
new_esEs15(:(x0, x1), [], x2)
new_esEs28(x0, x1, ty_Char)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs34(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs33(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(ty_[], x2))
new_lt8(x0, x1, app(ty_Maybe, x2))
new_esEs39(x0, x1, app(ty_Ratio, x2))
new_lt26(x0, x1, app(ty_Maybe, x2))
new_esEs18(Double(x0, x1), Double(x2, x3))
new_esEs9(x0, x1, ty_Ordering)
new_esEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs11(x0, x1, ty_@0)
new_esEs39(x0, x1, ty_Ordering)
new_primPlusNat0(Zero, Zero)
new_pePe(True, x0)
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_ltEs22(x0, x1, ty_Float)
new_esEs29(x0, x1, ty_Integer)
new_esEs36(x0, x1, app(ty_[], x2))
new_esEs31(x0, x1, ty_Bool)
new_esEs5(x0, x1, ty_Int)
new_esEs36(x0, x1, ty_Integer)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs29(x0, x1, ty_Int)
new_lt20(x0, x1, ty_Char)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_compare19(Float(x0, x1), Float(x2, x3))
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_esEs34(x0, x1, ty_Integer)
new_ltEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1, ty_Bool)
new_esEs34(x0, x1, app(ty_[], x2))
new_esEs31(x0, x1, ty_Float)
new_esEs41(EQ)
new_esEs35(x0, x1, ty_Char)
new_esEs11(x0, x1, ty_Integer)
new_gt2(x0, x1, x2, x3)
new_ltEs22(x0, x1, ty_@0)
new_esEs36(x0, x1, ty_Bool)
new_esEs34(x0, x1, ty_Double)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_ltEs21(x0, x1, ty_Double)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_lt23(x0, x1, ty_Float)
new_esEs4(x0, x1, ty_Ordering)
new_gt15(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(Just(x0), Just(x1), ty_@0)
new_esEs12(Nothing, Just(x0), x1)
new_compare31(x0, x1, ty_Double)
new_esEs27(x0, x1, ty_Ordering)
new_esEs35(x0, x1, ty_@0)
new_compare5(:(x0, x1), :(x2, x3), x4)
new_ltEs18(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, ty_@0)
new_esEs40(x0, x1, ty_Float)
new_lt22(x0, x1, ty_Integer)
new_esEs39(x0, x1, ty_Int)
new_esEs11(x0, x1, ty_Double)
new_esEs24(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_lt7(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs4(x0, x1, ty_Float)
new_esEs34(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_compare31(x0, x1, app(ty_Ratio, x2))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_esEs32(x0, x1, ty_Double)
new_compare210(x0, x1, x2, x3, False, x4, x5)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_lt26(x0, x1, ty_Int)
new_lt26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs33(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs22(x0, x1, ty_Integer)
new_ltEs22(x0, x1, ty_Ordering)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_ltEs21(x0, x1, app(ty_[], x2))
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs40(x0, x1, app(ty_Ratio, x2))
new_esEs4(x0, x1, ty_@0)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs23(x0, x1, app(ty_Ratio, x2))
new_lt22(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_esEs40(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs23(x0, x1, app(ty_Maybe, x2))
new_esEs13(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_lt21(x0, x1, app(ty_[], x2))
new_compare28(Nothing, Nothing, x0)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_lt8(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Float)
new_primMulNat0(Zero, Succ(x0))
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_ltEs23(x0, x1, ty_Float)
new_gt15(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt17(x0, x1)
new_compare14(x0, x1, True, x2, x3)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_gt10(x0, x1)
new_lt7(x0, x1, ty_Float)
new_lt22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs32(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), ty_Int)
new_esEs29(x0, x1, app(ty_[], x2))
new_compare29(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs40(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, ty_Double)
new_lt26(x0, x1, app(app(ty_@2, x2), x3))
new_compare26(x0, x1, True, x2)
new_esEs11(x0, x1, ty_Char)
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(x0, x1, ty_Bool)
new_esEs40(x0, x1, ty_Char)
new_ltEs6(GT, GT)
new_esEs34(x0, x1, ty_Ordering)
new_esEs4(x0, x1, ty_Char)
new_gt3(x0, x1)
new_ltEs23(x0, x1, ty_Integer)
new_esEs23(Char(x0), Char(x1))
new_lt4(x0, x1, x2)
new_ltEs20(x0, x1, ty_@0)
new_primCmpNat0(Succ(x0), Zero)
new_esEs40(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Char)
new_primCmpNat0(Zero, Zero)
new_lt26(x0, x1, ty_Float)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs24(x0, x1, app(ty_Ratio, x2))
new_lt7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs36(x0, x1, app(app(ty_@2, x2), x3))
new_gt7(x0, x1)
new_gt15(x0, x1, app(ty_Ratio, x2))
new_lt8(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Float)
new_ltEs22(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs13(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_compare11(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs13(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_esEs35(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), ty_Char)
new_esEs13(Right(x0), Right(x1), x2, ty_Bool)
new_gt12(x0, x1)
new_esEs35(x0, x1, ty_Double)
new_esEs37(x0, x1, ty_Int)
new_esEs31(x0, x1, ty_Integer)
new_compare25(x0, x1, True, x2, x3)
new_esEs38(x0, x1, ty_Int)
new_lt23(x0, x1, ty_Char)
new_lt26(x0, x1, ty_Double)
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs22(x0, x1, ty_Double)
new_esEs19(EQ, EQ)
new_ltEs22(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs21(x0, x1, ty_@0)
new_esEs13(Right(x0), Right(x1), x2, ty_Float)
new_primCompAux0(x0, x1, x2, x3)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs41(LT)
new_esEs17(Integer(x0), Integer(x1))
new_compare18(EQ, GT)
new_compare18(GT, EQ)
new_ltEs14(x0, x1)
new_esEs36(x0, x1, app(app(ty_Either, x2), x3))
new_compare31(x0, x1, ty_Int)
new_esEs13(Left(x0), Left(x1), ty_Float, x2)
new_lt20(x0, x1, ty_Float)
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_ltEs24(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_@0)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs40(x0, x1, ty_Int)
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs13(Just(x0), Nothing, x1)
new_esEs19(GT, LT)
new_esEs19(LT, GT)
new_ltEs24(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs24(x0, x1, ty_@0)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs13(Just(x0), Just(x1), ty_Ordering)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_compare111(x0, x1, x2, x3, True, x4, x5)
new_compare28(Nothing, Just(x0), x1)
new_ltEs16(x0, x1)
new_lt8(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Succ(x0), Zero)
new_lt8(x0, x1, ty_Float)
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_ltEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare111(x0, x1, x2, x3, False, x4, x5)
new_esEs35(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs14(:%(x0, x1), :%(x2, x3), x4)
new_ltEs13(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs7(x0, x1, ty_Ordering)
new_lt21(x0, x1, ty_Int)
new_esEs13(Right(x0), Left(x1), x2, x3)
new_esEs13(Left(x0), Right(x1), x2, x3)
new_esEs30(x0, x1, ty_Char)
new_esEs8(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, ty_Double)
new_lt22(x0, x1, ty_Int)
new_esEs15([], :(x0, x1), x2)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_gt11(x0, x1, x2)
new_esEs5(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, ty_Char)
new_lt22(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_Int)
new_esEs29(x0, x1, ty_Double)
new_lt11(x0, x1)
new_gt15(x0, x1, ty_@0)
new_ltEs23(x0, x1, ty_Ordering)
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_compare13(x0, x1, False, x2)
new_esEs31(x0, x1, ty_Int)
new_esEs11(x0, x1, app(ty_[], x2))
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs19(x0, x1, ty_Int)
new_esEs6(x0, x1, ty_Char)
new_lt23(x0, x1, app(app(ty_@2, x2), x3))
new_lt26(x0, x1, ty_@0)
new_compare18(EQ, EQ)
new_esEs36(x0, x1, ty_Double)
new_esEs13(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs10(x0, x1, ty_Double)
new_esEs6(x0, x1, ty_Int)
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_primCompAux00(x0, GT)
new_esEs10(x0, x1, ty_Integer)
new_esEs5(x0, x1, ty_Integer)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1)
new_gt15(x0, x1, ty_Float)
new_compare8(Integer(x0), Integer(x1))
new_ltEs13(Just(x0), Just(x1), app(ty_[], x2))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_gt9(x0, x1)
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_asAs(True, x0)
new_ltEs23(x0, x1, ty_Double)
new_esEs39(x0, x1, app(ty_Maybe, x2))
new_ltEs13(Just(x0), Just(x1), ty_Double)
new_lt21(x0, x1, ty_Integer)
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_fsEs(x0)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof

Q DP problem:
The TRS P consists of the following rules:

new_plusFM(Branch(yvy30, yvy31, yvy32, yvy33, yvy34), Branch(yvy40, yvy41, yvy42, yvy43, yvy44), h, ba) → new_plusFM(new_splitGT30(yvy30, yvy31, yvy32, yvy33, yvy34, yvy40, h, ba), yvy44, h, ba)
new_plusFM(Branch(yvy30, yvy31, yvy32, yvy33, yvy34), Branch(yvy40, yvy41, yvy42, yvy43, yvy44), h, ba) → new_plusFM(new_splitLT30(yvy30, yvy31, yvy32, yvy33, yvy34, yvy40, h, ba), yvy43, h, ba)

The TRS R consists of the following rules:

new_esEs29(yvy4002, yvy3002, ty_Integer) → new_esEs17(yvy4002, yvy3002)
new_esEs28(yvy4001, yvy3001, ty_Integer) → new_esEs17(yvy4001, yvy3001)
new_esEs30(yvy192, yvy195, app(app(app(ty_@3, ge), gf), gg)) → new_esEs24(yvy192, yvy195, ge, gf, gg)
new_esEs37(yvy4000, yvy3000, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_compare10(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, False, yvy271, bc, bd, be) → new_compare11(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, yvy271, bc, bd, be)
new_lt23(yvy1601, yvy1611, app(ty_Maybe, gaa)) → new_lt18(yvy1601, yvy1611, gaa)
new_esEs39(yvy1600, yvy1610, ty_Ordering) → new_esEs19(yvy1600, yvy1610)
new_lt14(yvy40, yvy30) → new_esEs26(new_compare12(yvy40, yvy30))
new_compare8(Integer(yvy400), Integer(yvy300)) → new_primCmpInt(yvy400, yvy300)
new_lt25(yvy40, yvy30, ty_Float) → new_lt17(yvy40, yvy30)
new_ltEs18(yvy194, yvy197, ty_Integer) → new_ltEs14(yvy194, yvy197)
new_splitLT10(yvy60, yvy61, yvy62, yvy63, yvy64, yvy65, False, cg, da) → yvy63
new_ltEs18(yvy194, yvy197, app(ty_[], bca)) → new_ltEs15(yvy194, yvy197, bca)
new_ltEs4(Right(yvy1600), Right(yvy1610), ee, ty_Int) → new_ltEs7(yvy1600, yvy1610)
new_esEs15(:(yvy4000, yvy4001), :(yvy3000, yvy3001), ebe) → new_asAs(new_esEs34(yvy4000, yvy3000, ebe), new_esEs15(yvy4001, yvy3001, ebe))
new_esEs7(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_esEs12(Just(yvy4000), Just(yvy3000), app(app(ty_@2, daa), dab)) → new_esEs22(yvy4000, yvy3000, daa, dab)
new_lt8(yvy193, yvy196, app(app(app(ty_@3, hg), hh), baa)) → new_lt9(yvy193, yvy196, hg, hh, baa)
new_esEs6(yvy402, yvy302, ty_Integer) → new_esEs17(yvy402, yvy302)
new_compare16(Left(yvy400), Right(yvy300), cc, cd) → LT
new_esEs40(yvy1601, yvy1611, app(ty_[], gab)) → new_esEs15(yvy1601, yvy1611, gab)
new_esEs30(yvy192, yvy195, app(app(ty_Either, hb), hc)) → new_esEs13(yvy192, yvy195, hb, hc)
new_ltEs23(yvy206, yvy208, ty_Ordering) → new_ltEs6(yvy206, yvy208)
new_lt21(yvy205, yvy207, ty_Ordering) → new_lt10(yvy205, yvy207)
new_esEs29(yvy4002, yvy3002, app(app(app(ty_@3, dee), def), deg)) → new_esEs24(yvy4002, yvy3002, dee, def, deg)
new_gt15(yvy40, yvy30, ty_Ordering) → new_gt6(yvy40, yvy30)
new_gt14(yvy35, yvy30, app(app(app(ty_@3, cgb), cgc), cgd)) → new_gt1(yvy35, yvy30, cgb, cgc, cgd)
new_lt24(yvy40, yvy50, app(ty_Ratio, cf)) → new_lt6(yvy40, yvy50, cf)
new_lt26(yvy20, yvy15, ty_Bool) → new_lt14(yvy20, yvy15)
new_ltEs22(yvy1601, yvy1611, app(ty_[], ehf)) → new_ltEs15(yvy1601, yvy1611, ehf)
new_compare12(True, False) → GT
new_sr(Integer(yvy4000), Integer(yvy3010)) → Integer(new_primMulInt(yvy4000, yvy3010))
new_esEs13(Right(yvy4000), Right(yvy3000), ebb, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_lt20(yvy1600, yvy1610, ty_Int) → new_lt11(yvy1600, yvy1610)
new_esEs34(yvy4000, yvy3000, app(ty_Ratio, eed)) → new_esEs14(yvy4000, yvy3000, eed)
new_esEs4(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_esEs14(:%(yvy4000, yvy4001), :%(yvy3000, yvy3001), ebd) → new_asAs(new_esEs37(yvy4000, yvy3000, ebd), new_esEs38(yvy4001, yvy3001, ebd))
new_ltEs21(yvy160, yvy161, app(ty_Maybe, cbc)) → new_ltEs13(yvy160, yvy161, cbc)
new_lt23(yvy1601, yvy1611, ty_Ordering) → new_lt10(yvy1601, yvy1611)
new_esEs27(yvy4000, yvy3000, app(ty_[], dbe)) → new_esEs15(yvy4000, yvy3000, dbe)
new_ltEs19(yvy167, yvy168, ty_Integer) → new_ltEs14(yvy167, yvy168)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(app(ty_@2, df), dg), de) → new_ltEs9(yvy1600, yvy1610, df, dg)
new_ltEs18(yvy194, yvy197, ty_Char) → new_ltEs16(yvy194, yvy197)
new_ltEs4(Right(yvy1600), Right(yvy1610), ee, ty_Ordering) → new_ltEs6(yvy1600, yvy1610)
new_esEs28(yvy4001, yvy3001, ty_@0) → new_esEs25(yvy4001, yvy3001)
new_esEs27(yvy4000, yvy3000, ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_ltEs20(yvy174, yvy175, app(ty_Maybe, bdg)) → new_ltEs13(yvy174, yvy175, bdg)
new_ltEs24(yvy1602, yvy1612, ty_Double) → new_ltEs8(yvy1602, yvy1612)
new_ltEs4(Right(yvy1600), Right(yvy1610), ee, ty_Integer) → new_ltEs14(yvy1600, yvy1610)
new_esEs33(yvy4001, yvy3001, app(ty_Ratio, dgf)) → new_esEs14(yvy4001, yvy3001, dgf)
new_ltEs22(yvy1601, yvy1611, ty_Ordering) → new_ltEs6(yvy1601, yvy1611)
new_esEs36(yvy205, yvy207, ty_Char) → new_esEs23(yvy205, yvy207)
new_mkBalBranch6MkBalBranch4(yvy50, yvy51, yvy54, yvy90, False, h, ba) → new_mkBalBranch6MkBalBranch3(yvy50, yvy51, yvy54, yvy90, new_gt3(new_mkBalBranch6Size_l(yvy50, yvy51, yvy54, yvy90, h, ba), new_sr0(new_sIZE_RATIO, new_mkBalBranch6Size_r(yvy50, yvy51, yvy54, yvy90, h, ba))), h, ba)
new_esEs31(yvy193, yvy196, ty_@0) → new_esEs25(yvy193, yvy196)
new_compare18(GT, EQ) → GT
new_lt22(yvy1600, yvy1610, ty_Integer) → new_lt5(yvy1600, yvy1610)
new_ltEs22(yvy1601, yvy1611, app(app(app(ty_@3, egf), egg), egh)) → new_ltEs5(yvy1601, yvy1611, egf, egg, egh)
new_ltEs22(yvy1601, yvy1611, app(ty_Ratio, ehg)) → new_ltEs17(yvy1601, yvy1611, ehg)
new_esEs31(yvy193, yvy196, app(ty_Maybe, baf)) → new_esEs12(yvy193, yvy196, baf)
new_lt22(yvy1600, yvy1610, ty_Float) → new_lt17(yvy1600, yvy1610)
new_gt6(yvy40, yvy30) → new_esEs41(new_compare18(yvy40, yvy30))
new_esEs24(@3(yvy4000, yvy4001, yvy4002), @3(yvy3000, yvy3001, yvy3002), dag, dah, dba) → new_asAs(new_esEs27(yvy4000, yvy3000, dag), new_asAs(new_esEs28(yvy4001, yvy3001, dah), new_esEs29(yvy4002, yvy3002, dba)))
new_esEs7(yvy400, yvy300, app(ty_[], bgc)) → new_esEs15(yvy400, yvy300, bgc)
new_compare110(yvy279, yvy280, yvy281, yvy282, True, yvy284, cbf, cbg) → new_compare111(yvy279, yvy280, yvy281, yvy282, True, cbf, cbg)
new_primPlusNat1(yvy285, yvy9300) → new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(new_primPlusNat0(yvy285, Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300)), Succ(yvy9300))
new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Bool, de) → new_ltEs10(yvy1600, yvy1610)
new_esEs8(yvy401, yvy301, app(ty_[], bhe)) → new_esEs15(yvy401, yvy301, bhe)
new_esEs33(yvy4001, yvy3001, ty_Float) → new_esEs21(yvy4001, yvy3001)
new_ltEs10(False, False) → True
new_esEs4(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_gt(yvy81, yvy76, ty_Float) → new_gt4(yvy81, yvy76)
new_esEs22(@2(yvy4000, yvy4001), @2(yvy3000, yvy3001), deh, dfa) → new_asAs(new_esEs32(yvy4000, yvy3000, deh), new_esEs33(yvy4001, yvy3001, dfa))
new_compare31(yvy400, yvy300, ty_@0) → new_compare27(yvy400, yvy300)
new_ltEs13(Just(yvy1600), Just(yvy1610), app(app(ty_@2, gef), geg)) → new_ltEs9(yvy1600, yvy1610, gef, geg)
new_esEs10(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_ltEs24(yvy1602, yvy1612, app(ty_Ratio, gbe)) → new_ltEs17(yvy1602, yvy1612, gbe)
new_splitLT20(yvy30, yvy31, yvy32, yvy33, yvy34, yvy35, False, cfh, cga) → new_splitLT10(yvy30, yvy31, yvy32, yvy33, yvy34, yvy35, new_gt14(yvy35, yvy30, cfh), cfh, cga)
new_ltEs19(yvy167, yvy168, app(app(ty_Either, eae), eaf)) → new_ltEs4(yvy167, yvy168, eae, eaf)
new_esEs28(yvy4001, yvy3001, ty_Char) → new_esEs23(yvy4001, yvy3001)
new_pePe(False, yvy295) → yvy295
new_esEs19(GT, GT) → True
new_lt25(yvy40, yvy30, ty_Double) → new_lt12(yvy40, yvy30)
new_splitLT30(yvy30, yvy31, yvy32, yvy33, yvy34, yvy40, h, ba) → new_splitLT20(yvy30, yvy31, yvy32, yvy33, yvy34, yvy40, new_lt25(yvy40, yvy30, h), h, ba)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Ordering, de) → new_ltEs6(yvy1600, yvy1610)
new_ltEs24(yvy1602, yvy1612, ty_Integer) → new_ltEs14(yvy1602, yvy1612)
new_lt25(yvy40, yvy30, app(ty_Maybe, ce)) → new_lt18(yvy40, yvy30, ce)
new_ltEs24(yvy1602, yvy1612, app(app(ty_@2, gag), gah)) → new_ltEs9(yvy1602, yvy1612, gag, gah)
new_esEs6(yvy402, yvy302, ty_Char) → new_esEs23(yvy402, yvy302)
new_lt20(yvy1600, yvy1610, ty_Double) → new_lt12(yvy1600, yvy1610)
new_esEs13(Right(yvy4000), Right(yvy3000), ebb, app(ty_[], gdd)) → new_esEs15(yvy4000, yvy3000, gdd)
new_ltEs20(yvy174, yvy175, app(app(ty_Either, bde), bdf)) → new_ltEs4(yvy174, yvy175, bde, bdf)
new_esEs10(yvy400, yvy300, app(ty_Maybe, cdh)) → new_esEs12(yvy400, yvy300, cdh)
new_gt15(yvy40, yvy30, app(app(app(ty_@3, bf), bg), bh)) → new_gt1(yvy40, yvy30, bf, bg, bh)
new_esEs34(yvy4000, yvy3000, app(ty_Maybe, eeh)) → new_esEs12(yvy4000, yvy3000, eeh)
new_esEs26(EQ) → False
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Int, de) → new_ltEs7(yvy1600, yvy1610)
new_gt15(yvy40, yvy30, app(ty_Maybe, ce)) → new_gt11(yvy40, yvy30, ce)
new_esEs29(yvy4002, yvy3002, app(app(ty_@2, deb), dec)) → new_esEs22(yvy4002, yvy3002, deb, dec)
new_ltEs6(GT, EQ) → False
new_ltEs4(Right(yvy1600), Right(yvy1610), ee, app(app(ty_Either, fc), fd)) → new_ltEs4(yvy1600, yvy1610, fc, fd)
new_lt23(yvy1601, yvy1611, ty_Int) → new_lt11(yvy1601, yvy1611)
new_esEs9(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Int) → new_ltEs7(yvy1600, yvy1610)
new_lt7(yvy192, yvy195, app(ty_Ratio, hf)) → new_lt6(yvy192, yvy195, hf)
new_ltEs18(yvy194, yvy197, ty_@0) → new_ltEs11(yvy194, yvy197)
new_addToFM_C20(yvy76, yvy77, yvy78, yvy79, yvy80, yvy81, yvy82, True, fed, fee) → new_mkBalBranch(yvy76, yvy77, new_addToFM_C0(yvy79, yvy81, yvy82, fed, fee), yvy80, fed, fee)
new_ltEs24(yvy1602, yvy1612, ty_Int) → new_ltEs7(yvy1602, yvy1612)
new_ltEs13(Nothing, Nothing, cbc) → True
new_addToFM(yvy5, yvy40, yvy41, h, ba) → new_addToFM_C0(yvy5, yvy40, yvy41, h, ba)
new_sr1(Pos(yvy930)) → Pos(new_primMulNat1(yvy930))
new_addToFM_C0(Branch(yvy50, yvy51, yvy52, yvy53, yvy54), yvy40, yvy41, h, ba) → new_addToFM_C20(yvy50, yvy51, yvy52, yvy53, yvy54, yvy40, yvy41, new_lt24(yvy40, yvy50, h), h, ba)
new_esEs10(yvy400, yvy300, app(app(ty_@2, cdf), cdg)) → new_esEs22(yvy400, yvy300, cdf, cdg)
new_esEs35(yvy1600, yvy1610, app(app(ty_@2, efg), efh)) → new_esEs22(yvy1600, yvy1610, efg, efh)
new_esEs13(Right(yvy4000), Right(yvy3000), ebb, ty_Double) → new_esEs18(yvy4000, yvy3000)
new_compare12(False, True) → LT
new_lt25(yvy40, yvy30, ty_Bool) → new_lt14(yvy40, yvy30)
new_gt15(yvy40, yvy30, ty_Int) → new_gt3(yvy40, yvy30)
new_esEs9(yvy400, yvy300, app(ty_Ratio, ccb)) → new_esEs14(yvy400, yvy300, ccb)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Integer, ebc) → new_esEs17(yvy4000, yvy3000)
new_esEs12(Just(yvy4000), Nothing, chd) → False
new_esEs12(Nothing, Just(yvy3000), chd) → False
new_esEs40(yvy1601, yvy1611, ty_Double) → new_esEs18(yvy1601, yvy1611)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Bool, ebc) → new_esEs20(yvy4000, yvy3000)
new_esEs34(yvy4000, yvy3000, ty_@0) → new_esEs25(yvy4000, yvy3000)
new_pePe(True, yvy295) → True
new_esEs39(yvy1600, yvy1610, app(ty_[], fgh)) → new_esEs15(yvy1600, yvy1610, fgh)
new_primEqNat0(Zero, Zero) → True
new_compare14(yvy236, yvy237, False, bcc, bcd) → GT
new_esEs27(yvy4000, yvy3000, app(app(ty_@2, dbf), dbg)) → new_esEs22(yvy4000, yvy3000, dbf, dbg)
new_lt21(yvy205, yvy207, app(ty_Maybe, fba)) → new_lt18(yvy205, yvy207, fba)
new_compare31(yvy400, yvy300, app(ty_Ratio, cfe)) → new_compare6(yvy400, yvy300, cfe)
new_compare17(@3(yvy400, yvy401, yvy402), @3(yvy300, yvy301, yvy302), bf, bg, bh) → new_compare24(yvy400, yvy401, yvy402, yvy300, yvy301, yvy302, new_asAs(new_esEs4(yvy400, yvy300, bf), new_asAs(new_esEs5(yvy401, yvy301, bg), new_esEs6(yvy402, yvy302, bh))), bf, bg, bh)
new_lt21(yvy205, yvy207, app(app(ty_Either, fag), fah)) → new_lt16(yvy205, yvy207, fag, fah)
new_ltEs20(yvy174, yvy175, ty_Bool) → new_ltEs10(yvy174, yvy175)
new_ltEs20(yvy174, yvy175, ty_Integer) → new_ltEs14(yvy174, yvy175)
new_splitGT30(yvy30, yvy31, yvy32, yvy33, yvy34, yvy40, h, ba) → new_splitGT20(yvy30, yvy31, yvy32, yvy33, yvy34, yvy40, new_gt15(yvy40, yvy30, h), h, ba)
new_esEs7(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_esEs12(Nothing, Nothing, chd) → True
new_lt24(yvy40, yvy50, ty_Char) → new_lt19(yvy40, yvy50)
new_esEs9(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_ltEs23(yvy206, yvy208, ty_Integer) → new_ltEs14(yvy206, yvy208)
new_esEs35(yvy1600, yvy1610, ty_Integer) → new_esEs17(yvy1600, yvy1610)
new_ltEs21(yvy160, yvy161, ty_Bool) → new_ltEs10(yvy160, yvy161)
new_esEs36(yvy205, yvy207, app(ty_Maybe, fba)) → new_esEs12(yvy205, yvy207, fba)
new_esEs8(yvy401, yvy301, app(ty_Maybe, bhh)) → new_esEs12(yvy401, yvy301, bhh)
new_ltEs20(yvy174, yvy175, app(app(ty_@2, bdc), bdd)) → new_ltEs9(yvy174, yvy175, bdc, bdd)
new_ltEs22(yvy1601, yvy1611, app(app(ty_@2, eha), ehb)) → new_ltEs9(yvy1601, yvy1611, eha, ehb)
new_gt0(yvy40, yvy30, bb) → new_esEs41(new_compare5(yvy40, yvy30, bb))
new_primMulNat1(Succ(yvy9300)) → new_primPlusNat1(new_primMulNat0(Zero, Succ(yvy9300)), yvy9300)
new_esEs12(Just(yvy4000), Just(yvy3000), app(app(ty_Either, che), chf)) → new_esEs13(yvy4000, yvy3000, che, chf)
new_esEs33(yvy4001, yvy3001, app(ty_[], dgg)) → new_esEs15(yvy4001, yvy3001, dgg)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Float) → new_ltEs12(yvy1600, yvy1610)
new_esEs29(yvy4002, yvy3002, ty_Bool) → new_esEs20(yvy4002, yvy3002)
new_ltEs6(EQ, GT) → True
new_esEs34(yvy4000, yvy3000, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_lt7(yvy192, yvy195, app(app(ty_@2, gh), ha)) → new_lt13(yvy192, yvy195, gh, ha)
new_esEs29(yvy4002, yvy3002, app(app(ty_Either, ddf), ddg)) → new_esEs13(yvy4002, yvy3002, ddf, ddg)
new_ltEs4(Right(yvy1600), Right(yvy1610), ee, ty_@0) → new_ltEs11(yvy1600, yvy1610)
new_esEs11(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_lt21(yvy205, yvy207, app(app(ty_@2, fae), faf)) → new_lt13(yvy205, yvy207, fae, faf)
new_lt22(yvy1600, yvy1610, app(ty_Maybe, fgg)) → new_lt18(yvy1600, yvy1610, fgg)
new_esEs27(yvy4000, yvy3000, app(app(app(ty_@3, dca), dcb), dcc)) → new_esEs24(yvy4000, yvy3000, dca, dcb, dcc)
new_esEs27(yvy4000, yvy3000, ty_Float) → new_esEs21(yvy4000, yvy3000)
new_primEqInt(Neg(Succ(yvy40000)), Neg(Succ(yvy30000))) → new_primEqNat0(yvy40000, yvy30000)
new_lt25(yvy40, yvy30, ty_Int) → new_lt11(yvy40, yvy30)
new_esEs19(EQ, EQ) → True
new_lt8(yvy193, yvy196, ty_Double) → new_lt12(yvy193, yvy196)
new_mkBalBranch(yvy50, yvy51, yvy90, yvy54, h, ba) → new_mkBalBranch6MkBalBranch5(yvy50, yvy51, yvy54, yvy90, new_lt11(new_primPlusInt(new_mkBalBranch6Size_l(yvy50, yvy51, yvy54, yvy90, h, ba), new_mkBalBranch6Size_r(yvy50, yvy51, yvy54, yvy90, h, ba)), Pos(Succ(Succ(Zero)))), h, ba)
new_esEs16(yvy400, yvy300) → new_primEqInt(yvy400, yvy300)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Float, de) → new_ltEs12(yvy1600, yvy1610)
new_esEs9(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_splitGT20(yvy15, yvy16, yvy17, yvy18, yvy19, yvy20, True, fch, fda) → new_splitGT0(yvy19, yvy20, fch, fda)
new_ltEs21(yvy160, yvy161, app(ty_[], cbd)) → new_ltEs15(yvy160, yvy161, cbd)
new_ltEs22(yvy1601, yvy1611, ty_Int) → new_ltEs7(yvy1601, yvy1611)
new_esEs5(yvy401, yvy301, ty_Bool) → new_esEs20(yvy401, yvy301)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs4(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_esEs40(yvy1601, yvy1611, app(app(app(ty_@3, fhb), fhc), fhd)) → new_esEs24(yvy1601, yvy1611, fhb, fhc, fhd)
new_esEs35(yvy1600, yvy1610, ty_Ordering) → new_esEs19(yvy1600, yvy1610)
new_compare6(:%(yvy400, yvy401), :%(yvy300, yvy301), ty_Integer) → new_compare8(new_sr(yvy400, yvy301), new_sr(yvy300, yvy401))
new_lt26(yvy20, yvy15, app(app(ty_Either, fdg), fdh)) → new_lt16(yvy20, yvy15, fdg, fdh)
new_lt17(yvy40, yvy30) → new_esEs26(new_compare19(yvy40, yvy30))
new_compare211(yvy160, yvy161, False, cad, cae) → new_compare14(yvy160, yvy161, new_ltEs21(yvy160, yvy161, cad), cad, cae)
new_esEs29(yvy4002, yvy3002, ty_@0) → new_esEs25(yvy4002, yvy3002)
new_esEs34(yvy4000, yvy3000, app(ty_[], eee)) → new_esEs15(yvy4000, yvy3000, eee)
new_esEs33(yvy4001, yvy3001, ty_Integer) → new_esEs17(yvy4001, yvy3001)
new_ltEs4(Right(yvy1600), Right(yvy1610), ee, app(ty_Ratio, fh)) → new_ltEs17(yvy1600, yvy1610, fh)
new_ltEs6(GT, GT) → True
new_fsEs(yvy296) → new_not(new_esEs19(yvy296, GT))
new_esEs5(yvy401, yvy301, ty_Integer) → new_esEs17(yvy401, yvy301)
new_ltEs24(yvy1602, yvy1612, ty_@0) → new_ltEs11(yvy1602, yvy1612)
new_esEs7(yvy400, yvy300, app(app(ty_Either, bfh), bga)) → new_esEs13(yvy400, yvy300, bfh, bga)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_esEs4(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_esEs6(yvy402, yvy302, ty_@0) → new_esEs25(yvy402, yvy302)
new_esEs31(yvy193, yvy196, ty_Bool) → new_esEs20(yvy193, yvy196)
new_splitGT20(yvy15, yvy16, yvy17, yvy18, yvy19, yvy20, False, fch, fda) → new_splitGT10(yvy15, yvy16, yvy17, yvy18, yvy19, yvy20, new_lt26(yvy20, yvy15, fch), fch, fda)
new_esEs6(yvy402, yvy302, app(ty_Ratio, edb)) → new_esEs14(yvy402, yvy302, edb)
new_esEs19(LT, EQ) → False
new_esEs19(EQ, LT) → False
new_compare11(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, True, bc, bd, be) → LT
new_lt26(yvy20, yvy15, ty_Ordering) → new_lt10(yvy20, yvy15)
new_primEqInt(Pos(Succ(yvy40000)), Pos(Succ(yvy30000))) → new_primEqNat0(yvy40000, yvy30000)
new_ltEs18(yvy194, yvy197, ty_Double) → new_ltEs8(yvy194, yvy197)
new_compare28(Nothing, Just(yvy300), ce) → LT
new_lt26(yvy20, yvy15, app(app(ty_@2, fde), fdf)) → new_lt13(yvy20, yvy15, fde, fdf)
new_compare31(yvy400, yvy300, app(app(app(ty_@3, ced), cee), cef)) → new_compare17(yvy400, yvy300, ced, cee, cef)
new_ltEs4(Right(yvy1600), Right(yvy1610), ee, app(ty_[], fg)) → new_ltEs15(yvy1600, yvy1610, fg)
new_esEs13(Left(yvy4000), Left(yvy3000), app(app(ty_@2, gcb), gcc), ebc) → new_esEs22(yvy4000, yvy3000, gcb, gcc)
new_esEs5(yvy401, yvy301, app(ty_[], eca)) → new_esEs15(yvy401, yvy301, eca)
new_lt24(yvy40, yvy50, ty_@0) → new_lt15(yvy40, yvy50)
new_primEqNat0(Succ(yvy40000), Succ(yvy30000)) → new_primEqNat0(yvy40000, yvy30000)
new_esEs27(yvy4000, yvy3000, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_esEs8(yvy401, yvy301, ty_@0) → new_esEs25(yvy401, yvy301)
new_esEs35(yvy1600, yvy1610, app(ty_Maybe, egc)) → new_esEs12(yvy1600, yvy1610, egc)
new_gt9(yvy40, yvy30) → new_esEs41(new_compare12(yvy40, yvy30))
new_esEs7(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_compare5(:(yvy400, yvy401), :(yvy300, yvy301), bb) → new_primCompAux0(yvy400, yvy300, new_compare5(yvy401, yvy301, bb), bb)
new_ltEs20(yvy174, yvy175, ty_Char) → new_ltEs16(yvy174, yvy175)
new_lt26(yvy20, yvy15, ty_Double) → new_lt12(yvy20, yvy15)
new_primCmpInt(Neg(Succ(yvy4000)), Neg(yvy300)) → new_primCmpNat0(yvy300, Succ(yvy4000))
new_lt26(yvy20, yvy15, ty_@0) → new_lt15(yvy20, yvy15)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Bool) → new_ltEs10(yvy1600, yvy1610)
new_esEs40(yvy1601, yvy1611, ty_Bool) → new_esEs20(yvy1601, yvy1611)
new_esEs30(yvy192, yvy195, app(ty_Ratio, hf)) → new_esEs14(yvy192, yvy195, hf)
new_lt23(yvy1601, yvy1611, app(app(ty_Either, fhg), fhh)) → new_lt16(yvy1601, yvy1611, fhg, fhh)
new_esEs11(yvy400, yvy300, app(app(app(ty_@3, bfc), bfd), bfe)) → new_esEs24(yvy400, yvy300, bfc, bfd, bfe)
new_compare13(yvy252, yvy253, True, ga) → LT
new_compare18(GT, LT) → GT
new_esEs29(yvy4002, yvy3002, ty_Double) → new_esEs18(yvy4002, yvy3002)
new_lt20(yvy1600, yvy1610, app(ty_Ratio, ege)) → new_lt6(yvy1600, yvy1610, ege)
new_gt15(yvy40, yvy30, ty_Bool) → new_gt9(yvy40, yvy30)
new_lt25(yvy40, yvy30, app(app(app(ty_@3, bf), bg), bh)) → new_lt9(yvy40, yvy30, bf, bg, bh)
new_esEs32(yvy4000, yvy3000, app(ty_Maybe, dfh)) → new_esEs12(yvy4000, yvy3000, dfh)
new_ltEs11(yvy160, yvy161) → new_fsEs(new_compare27(yvy160, yvy161))
new_ltEs18(yvy194, yvy197, app(app(ty_Either, bbf), bbg)) → new_ltEs4(yvy194, yvy197, bbf, bbg)
new_esEs32(yvy4000, yvy3000, app(ty_Ratio, dfd)) → new_esEs14(yvy4000, yvy3000, dfd)
new_ltEs22(yvy1601, yvy1611, ty_@0) → new_ltEs11(yvy1601, yvy1611)
new_gt2(yvy40, yvy30, cc, cd) → new_esEs41(new_compare16(yvy40, yvy30, cc, cd))
new_esEs11(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_lt25(yvy40, yvy30, ty_Char) → new_lt19(yvy40, yvy30)
new_esEs10(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_mkVBalBranch3MkVBalBranch10(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkBalBranch(yvy60, yvy61, yvy63, new_mkVBalBranch0(yvy40, yvy41, yvy64, Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba), h, ba)
new_lt7(yvy192, yvy195, ty_Double) → new_lt12(yvy192, yvy195)
new_esEs31(yvy193, yvy196, ty_Integer) → new_esEs17(yvy193, yvy196)
new_primEqInt(Pos(Zero), Neg(Succ(yvy30000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(yvy30000))) → False
new_lt7(yvy192, yvy195, app(app(app(ty_@3, ge), gf), gg)) → new_lt9(yvy192, yvy195, ge, gf, gg)
new_primCompAux00(yvy180, EQ) → yvy180
new_primCmpInt(Pos(Zero), Pos(Succ(yvy3000))) → new_primCmpNat0(Zero, Succ(yvy3000))
new_lt22(yvy1600, yvy1610, app(ty_[], fgh)) → new_lt4(yvy1600, yvy1610, fgh)
new_esEs36(yvy205, yvy207, app(ty_Ratio, fbc)) → new_esEs14(yvy205, yvy207, fbc)
new_esEs13(Left(yvy4000), Left(yvy3000), app(app(ty_Either, gbf), gbg), ebc) → new_esEs13(yvy4000, yvy3000, gbf, gbg)
new_mkBalBranch6MkBalBranch3(yvy50, yvy51, yvy54, Branch(yvy900, yvy901, yvy902, yvy903, yvy904), True, h, ba) → new_mkBalBranch6MkBalBranch11(yvy50, yvy51, yvy54, yvy900, yvy901, yvy902, yvy903, yvy904, new_lt11(new_sizeFM0(yvy904, h, ba), new_sr0(Pos(Succ(Succ(Zero))), new_sizeFM0(yvy903, h, ba))), h, ba)
new_ltEs24(yvy1602, yvy1612, app(ty_[], gbd)) → new_ltEs15(yvy1602, yvy1612, gbd)
new_ltEs23(yvy206, yvy208, app(ty_[], fcd)) → new_ltEs15(yvy206, yvy208, fcd)
new_compare31(yvy400, yvy300, app(ty_[], cfd)) → new_compare5(yvy400, yvy300, cfd)
new_esEs7(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_emptyFM(h, ba) → EmptyFM
new_ltEs4(Left(yvy1600), Left(yvy1610), app(ty_[], ec), de) → new_ltEs15(yvy1600, yvy1610, ec)
new_esEs28(yvy4001, yvy3001, app(ty_Ratio, dcf)) → new_esEs14(yvy4001, yvy3001, dcf)
new_esEs30(yvy192, yvy195, ty_Double) → new_esEs18(yvy192, yvy195)
new_esEs13(Right(yvy4000), Right(yvy3000), ebb, ty_@0) → new_esEs25(yvy4000, yvy3000)
new_ltEs4(Right(yvy1600), Right(yvy1610), ee, app(ty_Maybe, ff)) → new_ltEs13(yvy1600, yvy1610, ff)
new_esEs30(yvy192, yvy195, app(app(ty_@2, gh), ha)) → new_esEs22(yvy192, yvy195, gh, ha)
new_compare18(EQ, GT) → LT
new_not(False) → True
new_lt8(yvy193, yvy196, ty_Integer) → new_lt5(yvy193, yvy196)
new_ltEs22(yvy1601, yvy1611, app(app(ty_Either, ehc), ehd)) → new_ltEs4(yvy1601, yvy1611, ehc, ehd)
new_esEs32(yvy4000, yvy3000, ty_Float) → new_esEs21(yvy4000, yvy3000)
new_compare31(yvy400, yvy300, app(ty_Maybe, cfc)) → new_compare28(yvy400, yvy300, cfc)
new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba) → new_sizeFM(yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)
new_gt14(yvy35, yvy30, app(app(ty_Either, cgg), cgh)) → new_gt2(yvy35, yvy30, cgg, cgh)
new_esEs36(yvy205, yvy207, ty_Integer) → new_esEs17(yvy205, yvy207)
new_esEs9(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_lt25(yvy40, yvy30, ty_Integer) → new_lt5(yvy40, yvy30)
new_esEs6(yvy402, yvy302, ty_Int) → new_esEs16(yvy402, yvy302)
new_esEs11(yvy400, yvy300, app(app(ty_Either, bed), bee)) → new_esEs13(yvy400, yvy300, bed, bee)
new_lt20(yvy1600, yvy1610, app(app(ty_Either, ega), egb)) → new_lt16(yvy1600, yvy1610, ega, egb)
new_esEs32(yvy4000, yvy3000, app(ty_[], dfe)) → new_esEs15(yvy4000, yvy3000, dfe)
new_esEs13(Left(yvy4000), Left(yvy3000), app(ty_Maybe, gce), ebc) → new_esEs12(yvy4000, yvy3000, gce)
new_lt24(yvy40, yvy50, app(ty_Maybe, ce)) → new_lt18(yvy40, yvy50, ce)
new_esEs9(yvy400, yvy300, app(app(ty_@2, ccd), cce)) → new_esEs22(yvy400, yvy300, ccd, cce)
new_esEs6(yvy402, yvy302, app(app(ty_Either, ech), eda)) → new_esEs13(yvy402, yvy302, ech, eda)
new_esEs28(yvy4001, yvy3001, app(app(ty_Either, dcd), dce)) → new_esEs13(yvy4001, yvy3001, dcd, dce)
new_compare28(Just(yvy400), Nothing, ce) → GT
new_lt24(yvy40, yvy50, ty_Bool) → new_lt14(yvy40, yvy50)
new_esEs5(yvy401, yvy301, ty_Char) → new_esEs23(yvy401, yvy301)
new_gt14(yvy35, yvy30, ty_Char) → new_gt13(yvy35, yvy30)
new_lt8(yvy193, yvy196, ty_Ordering) → new_lt10(yvy193, yvy196)
new_lt4(yvy40, yvy30, bb) → new_esEs26(new_compare5(yvy40, yvy30, bb))
new_lt24(yvy40, yvy50, ty_Ordering) → new_lt10(yvy40, yvy50)
new_lt8(yvy193, yvy196, app(ty_Maybe, baf)) → new_lt18(yvy193, yvy196, baf)
new_esEs30(yvy192, yvy195, ty_Char) → new_esEs23(yvy192, yvy195)
new_esEs34(yvy4000, yvy3000, app(app(ty_@2, eef), eeg)) → new_esEs22(yvy4000, yvy3000, eef, eeg)
new_esEs5(yvy401, yvy301, ty_Float) → new_esEs21(yvy401, yvy301)
new_ltEs18(yvy194, yvy197, ty_Int) → new_ltEs7(yvy194, yvy197)
new_lt24(yvy40, yvy50, ty_Int) → new_lt11(yvy40, yvy50)
new_primMulInt(Neg(yvy4000), Neg(yvy3000)) → Pos(new_primMulNat0(yvy4000, yvy3000))
new_primEqNat0(Zero, Succ(yvy30000)) → False
new_primEqNat0(Succ(yvy40000), Zero) → False
new_mkVBalBranch0(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), EmptyFM, h, ba) → new_addToFM(Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy40, yvy41, h, ba)
new_compare31(yvy400, yvy300, ty_Integer) → new_compare8(yvy400, yvy300)
new_compare25(yvy167, yvy168, True, dhf, dhg) → EQ
new_ltEs6(EQ, LT) → False
new_esEs27(yvy4000, yvy3000, app(app(ty_Either, dbb), dbc)) → new_esEs13(yvy4000, yvy3000, dbb, dbc)
new_ltEs20(yvy174, yvy175, ty_Int) → new_ltEs7(yvy174, yvy175)
new_esEs11(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_lt25(yvy40, yvy30, app(app(ty_@2, ca), cb)) → new_lt13(yvy40, yvy30, ca, cb)
new_esEs31(yvy193, yvy196, app(app(ty_@2, bab), bac)) → new_esEs22(yvy193, yvy196, bab, bac)
new_lt23(yvy1601, yvy1611, app(ty_Ratio, gac)) → new_lt6(yvy1601, yvy1611, gac)
new_gt14(yvy35, yvy30, app(ty_[], chb)) → new_gt0(yvy35, yvy30, chb)
new_gt(yvy81, yvy76, app(ty_[], fff)) → new_gt0(yvy81, yvy76, fff)
new_lt24(yvy40, yvy50, ty_Float) → new_lt17(yvy40, yvy50)
new_ltEs22(yvy1601, yvy1611, ty_Double) → new_ltEs8(yvy1601, yvy1611)
new_esEs32(yvy4000, yvy3000, ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_esEs12(Just(yvy4000), Just(yvy3000), app(ty_[], chh)) → new_esEs15(yvy4000, yvy3000, chh)
new_esEs35(yvy1600, yvy1610, app(app(app(ty_@3, efd), efe), eff)) → new_esEs24(yvy1600, yvy1610, efd, efe, eff)
new_esEs13(Left(yvy4000), Left(yvy3000), app(ty_Ratio, gbh), ebc) → new_esEs14(yvy4000, yvy3000, gbh)
new_esEs32(yvy4000, yvy3000, ty_@0) → new_esEs25(yvy4000, yvy3000)
new_gt(yvy81, yvy76, ty_Char) → new_gt13(yvy81, yvy76)
new_ltEs19(yvy167, yvy168, ty_Bool) → new_ltEs10(yvy167, yvy168)
new_esEs6(yvy402, yvy302, app(ty_[], edc)) → new_esEs15(yvy402, yvy302, edc)
new_gt(yvy81, yvy76, app(app(ty_@2, ffa), ffb)) → new_gt8(yvy81, yvy76, ffa, ffb)
new_ltEs22(yvy1601, yvy1611, ty_Float) → new_ltEs12(yvy1601, yvy1611)
new_primMinusNat0(Zero, Zero) → Pos(Zero)
new_gt(yvy81, yvy76, ty_@0) → new_gt10(yvy81, yvy76)
new_ltEs22(yvy1601, yvy1611, ty_Char) → new_ltEs16(yvy1601, yvy1611)
new_primCmpInt(Pos(Zero), Neg(Succ(yvy3000))) → GT
new_esEs31(yvy193, yvy196, app(app(app(ty_@3, hg), hh), baa)) → new_esEs24(yvy193, yvy196, hg, hh, baa)
new_esEs12(Just(yvy4000), Just(yvy3000), app(ty_Ratio, chg)) → new_esEs14(yvy4000, yvy3000, chg)
new_lt21(yvy205, yvy207, ty_Integer) → new_lt5(yvy205, yvy207)
new_esEs20(False, True) → False
new_esEs20(True, False) → False
new_esEs4(yvy400, yvy300, app(app(app(ty_@3, dag), dah), dba)) → new_esEs24(yvy400, yvy300, dag, dah, dba)
new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_ltEs18(yvy194, yvy197, ty_Float) → new_ltEs12(yvy194, yvy197)
new_ltEs19(yvy167, yvy168, ty_Double) → new_ltEs8(yvy167, yvy168)
new_esEs40(yvy1601, yvy1611, app(app(ty_@2, fhe), fhf)) → new_esEs22(yvy1601, yvy1611, fhe, fhf)
new_mkBalBranch6MkBalBranch4(yvy50, yvy51, EmptyFM, yvy90, True, h, ba) → error([])
new_esEs32(yvy4000, yvy3000, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_esEs7(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_esEs19(LT, LT) → True
new_esEs15([], :(yvy3000, yvy3001), ebe) → False
new_esEs15(:(yvy4000, yvy4001), [], ebe) → False
new_esEs40(yvy1601, yvy1611, ty_Int) → new_esEs16(yvy1601, yvy1611)
new_gt(yvy81, yvy76, ty_Bool) → new_gt9(yvy81, yvy76)
new_esEs28(yvy4001, yvy3001, app(app(app(ty_@3, ddc), ddd), dde)) → new_esEs24(yvy4001, yvy3001, ddc, ddd, dde)
new_compare5([], :(yvy300, yvy301), bb) → LT
new_primPlusInt(Pos(yvy9020), Pos(yvy2180)) → Pos(new_primPlusNat0(yvy9020, yvy2180))
new_compare29(@2(yvy400, yvy401), @2(yvy300, yvy301), ca, cb) → new_compare210(yvy400, yvy401, yvy300, yvy301, new_asAs(new_esEs7(yvy400, yvy300, ca), new_esEs8(yvy401, yvy301, cb)), ca, cb)
new_esEs11(yvy400, yvy300, app(ty_Ratio, bef)) → new_esEs14(yvy400, yvy300, bef)
new_gt13(yvy40, yvy30) → new_esEs41(new_compare30(yvy40, yvy30))
new_esEs37(yvy4000, yvy3000, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_esEs33(yvy4001, yvy3001, ty_Char) → new_esEs23(yvy4001, yvy3001)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Double) → new_ltEs8(yvy1600, yvy1610)
new_esEs32(yvy4000, yvy3000, app(app(ty_Either, dfb), dfc)) → new_esEs13(yvy4000, yvy3000, dfb, dfc)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs10(yvy400, yvy300, ty_Double) → new_esEs18(yvy400, yvy300)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Double, de) → new_ltEs8(yvy1600, yvy1610)
new_splitGT0(EmptyFM, yvy20, fch, fda) → new_emptyFM(fch, fda)
new_ltEs10(True, False) → False
new_asAs(False, yvy230) → False
new_esEs40(yvy1601, yvy1611, ty_Ordering) → new_esEs19(yvy1601, yvy1611)
new_esEs10(yvy400, yvy300, app(app(app(ty_@3, cea), ceb), cec)) → new_esEs24(yvy400, yvy300, cea, ceb, cec)
new_gt14(yvy35, yvy30, ty_Integer) → new_gt12(yvy35, yvy30)
new_primMulInt(Pos(yvy4000), Neg(yvy3000)) → Neg(new_primMulNat0(yvy4000, yvy3000))
new_primMulInt(Neg(yvy4000), Pos(yvy3000)) → Neg(new_primMulNat0(yvy4000, yvy3000))
new_esEs5(yvy401, yvy301, ty_@0) → new_esEs25(yvy401, yvy301)
new_esEs6(yvy402, yvy302, app(ty_Maybe, edf)) → new_esEs12(yvy402, yvy302, edf)
new_lt11(yvy40, yvy30) → new_esEs26(new_compare7(yvy40, yvy30))
new_esEs27(yvy4000, yvy3000, ty_@0) → new_esEs25(yvy4000, yvy3000)
new_esEs9(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_lt7(yvy192, yvy195, app(ty_[], he)) → new_lt4(yvy192, yvy195, he)
new_gt15(yvy40, yvy30, ty_@0) → new_gt10(yvy40, yvy30)
new_lt19(yvy40, yvy30) → new_esEs26(new_compare30(yvy40, yvy30))
new_esEs13(Right(yvy4000), Right(yvy3000), ebb, app(ty_Maybe, gdg)) → new_esEs12(yvy4000, yvy3000, gdg)
new_esEs29(yvy4002, yvy3002, ty_Char) → new_esEs23(yvy4002, yvy3002)
new_esEs40(yvy1601, yvy1611, ty_Char) → new_esEs23(yvy1601, yvy1611)
new_lt20(yvy1600, yvy1610, app(ty_[], egd)) → new_lt4(yvy1600, yvy1610, egd)
new_compare31(yvy400, yvy300, ty_Float) → new_compare19(yvy400, yvy300)
new_esEs28(yvy4001, yvy3001, app(app(ty_@2, dch), dda)) → new_esEs22(yvy4001, yvy3001, dch, dda)
new_lt22(yvy1600, yvy1610, ty_@0) → new_lt15(yvy1600, yvy1610)
new_esEs28(yvy4001, yvy3001, ty_Double) → new_esEs18(yvy4001, yvy3001)
new_compare9(Double(yvy400, yvy401), Double(yvy300, yvy301)) → new_compare7(new_sr0(yvy400, yvy300), new_sr0(yvy401, yvy301))
new_esEs7(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_ltEs18(yvy194, yvy197, app(ty_Ratio, bcb)) → new_ltEs17(yvy194, yvy197, bcb)
new_esEs40(yvy1601, yvy1611, ty_Float) → new_esEs21(yvy1601, yvy1611)
new_compare111(yvy279, yvy280, yvy281, yvy282, False, cbf, cbg) → GT
new_ltEs18(yvy194, yvy197, app(ty_Maybe, bbh)) → new_ltEs13(yvy194, yvy197, bbh)
new_esEs34(yvy4000, yvy3000, ty_Float) → new_esEs21(yvy4000, yvy3000)
new_esEs8(yvy401, yvy301, app(app(ty_@2, bhf), bhg)) → new_esEs22(yvy401, yvy301, bhf, bhg)
new_ltEs6(LT, GT) → True
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_@0, de) → new_ltEs11(yvy1600, yvy1610)
new_esEs27(yvy4000, yvy3000, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_ltEs21(yvy160, yvy161, ty_Char) → new_ltEs16(yvy160, yvy161)
new_esEs39(yvy1600, yvy1610, app(app(ty_@2, fgc), fgd)) → new_esEs22(yvy1600, yvy1610, fgc, fgd)
new_esEs7(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_ltEs21(yvy160, yvy161, ty_Ordering) → new_ltEs6(yvy160, yvy161)
new_lt25(yvy40, yvy30, app(app(ty_Either, cc), cd)) → new_lt16(yvy40, yvy30, cc, cd)
new_esEs13(Left(yvy4000), Right(yvy3000), ebb, ebc) → False
new_esEs13(Right(yvy4000), Left(yvy3000), ebb, ebc) → False
new_lt24(yvy40, yvy50, app(app(ty_Either, cc), cd)) → new_lt16(yvy40, yvy50, cc, cd)
new_esEs13(Right(yvy4000), Right(yvy3000), ebb, app(app(ty_Either, gda), gdb)) → new_esEs13(yvy4000, yvy3000, gda, gdb)
new_lt22(yvy1600, yvy1610, ty_Int) → new_lt11(yvy1600, yvy1610)
new_ltEs23(yvy206, yvy208, app(app(ty_@2, fbg), fbh)) → new_ltEs9(yvy206, yvy208, fbg, fbh)
new_lt20(yvy1600, yvy1610, ty_Integer) → new_lt5(yvy1600, yvy1610)
new_esEs39(yvy1600, yvy1610, ty_Char) → new_esEs23(yvy1600, yvy1610)
new_esEs41(GT) → True
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Float, ebc) → new_esEs21(yvy4000, yvy3000)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Int, ebc) → new_esEs16(yvy4000, yvy3000)
new_esEs4(yvy400, yvy300, app(app(ty_@2, deh), dfa)) → new_esEs22(yvy400, yvy300, deh, dfa)
new_esEs4(yvy400, yvy300, app(app(ty_Either, ebb), ebc)) → new_esEs13(yvy400, yvy300, ebb, ebc)
new_esEs39(yvy1600, yvy1610, ty_Float) → new_esEs21(yvy1600, yvy1610)
new_esEs13(Right(yvy4000), Right(yvy3000), ebb, ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_compare14(yvy236, yvy237, True, bcc, bcd) → LT
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Float) → new_esEs21(yvy4000, yvy3000)
new_compare31(yvy400, yvy300, app(app(ty_Either, cfa), cfb)) → new_compare16(yvy400, yvy300, cfa, cfb)
new_esEs39(yvy1600, yvy1610, ty_Integer) → new_esEs17(yvy1600, yvy1610)
new_esEs13(Right(yvy4000), Right(yvy3000), ebb, ty_Char) → new_esEs23(yvy4000, yvy3000)
new_ltEs4(Right(yvy1600), Right(yvy1610), ee, ty_Double) → new_ltEs8(yvy1600, yvy1610)
new_gt4(yvy40, yvy30) → new_esEs41(new_compare19(yvy40, yvy30))
new_ltEs21(yvy160, yvy161, ty_Float) → new_ltEs12(yvy160, yvy161)
new_esEs39(yvy1600, yvy1610, app(app(ty_Either, fge), fgf)) → new_esEs13(yvy1600, yvy1610, fge, fgf)
new_esEs12(Just(yvy4000), Just(yvy3000), app(ty_Maybe, dac)) → new_esEs12(yvy4000, yvy3000, dac)
new_esEs13(Right(yvy4000), Right(yvy3000), ebb, ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_ltEs6(LT, EQ) → True
new_ltEs10(True, True) → True
new_lt21(yvy205, yvy207, app(ty_Ratio, fbc)) → new_lt6(yvy205, yvy207, fbc)
new_addToFM_C0(EmptyFM, yvy40, yvy41, h, ba) → Branch(yvy40, yvy41, Pos(Succ(Zero)), new_emptyFM(h, ba), new_emptyFM(h, ba))
new_esEs26(LT) → True
new_ltEs6(GT, LT) → False
new_asAs(True, yvy230) → yvy230
new_ltEs7(yvy160, yvy161) → new_fsEs(new_compare7(yvy160, yvy161))
new_lt21(yvy205, yvy207, app(ty_[], fbb)) → new_lt4(yvy205, yvy207, fbb)
new_esEs30(yvy192, yvy195, ty_Integer) → new_esEs17(yvy192, yvy195)
new_compare25(yvy167, yvy168, False, dhf, dhg) → new_compare15(yvy167, yvy168, new_ltEs19(yvy167, yvy168, dhg), dhf, dhg)
new_gt14(yvy35, yvy30, ty_Float) → new_gt4(yvy35, yvy30)
new_gt14(yvy35, yvy30, ty_Double) → new_gt7(yvy35, yvy30)
new_ltEs19(yvy167, yvy168, ty_Float) → new_ltEs12(yvy167, yvy168)
new_ltEs23(yvy206, yvy208, ty_Int) → new_ltEs7(yvy206, yvy208)
new_ltEs16(yvy160, yvy161) → new_fsEs(new_compare30(yvy160, yvy161))
new_primCompAux0(yvy400, yvy300, yvy115, bb) → new_primCompAux00(yvy115, new_compare31(yvy400, yvy300, bb))
new_esEs7(yvy400, yvy300, app(ty_Ratio, bgb)) → new_esEs14(yvy400, yvy300, bgb)
new_esEs30(yvy192, yvy195, ty_Bool) → new_esEs20(yvy192, yvy195)
new_esEs39(yvy1600, yvy1610, app(app(app(ty_@3, ffh), fga), fgb)) → new_esEs24(yvy1600, yvy1610, ffh, fga, fgb)
new_esEs29(yvy4002, yvy3002, app(ty_[], dea)) → new_esEs15(yvy4002, yvy3002, dea)
new_compare5([], [], bb) → EQ
new_ltEs13(Just(yvy1600), Just(yvy1610), app(app(app(ty_@3, gec), ged), gee)) → new_ltEs5(yvy1600, yvy1610, gec, ged, gee)
new_esEs34(yvy4000, yvy3000, app(app(app(ty_@3, efa), efb), efc)) → new_esEs24(yvy4000, yvy3000, efa, efb, efc)
new_addToFM_C10(yvy106, yvy107, yvy108, yvy109, yvy110, yvy111, yvy112, False, fcf, fcg) → Branch(yvy111, yvy112, yvy108, yvy109, yvy110)
new_ltEs20(yvy174, yvy175, ty_Ordering) → new_ltEs6(yvy174, yvy175)
new_gt15(yvy40, yvy30, app(ty_Ratio, cf)) → new_gt5(yvy40, yvy30, cf)
new_esEs30(yvy192, yvy195, app(ty_[], he)) → new_esEs15(yvy192, yvy195, he)
new_esEs36(yvy205, yvy207, app(ty_[], fbb)) → new_esEs15(yvy205, yvy207, fbb)
new_addToFM_C10(yvy106, yvy107, yvy108, yvy109, yvy110, yvy111, yvy112, True, fcf, fcg) → new_mkBalBranch(yvy106, yvy107, yvy109, new_addToFM_C0(yvy110, yvy111, yvy112, fcf, fcg), fcf, fcg)
new_mkBalBranch6Size_r(yvy50, yvy51, yvy54, yvy90, h, ba) → new_sizeFM0(yvy54, h, ba)
new_esEs34(yvy4000, yvy3000, ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_ltEs21(yvy160, yvy161, ty_Int) → new_ltEs7(yvy160, yvy161)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_@0, ebc) → new_esEs25(yvy4000, yvy3000)
new_lt8(yvy193, yvy196, ty_Int) → new_lt11(yvy193, yvy196)
new_ltEs5(@3(yvy1600, yvy1601, yvy1602), @3(yvy1610, yvy1611, yvy1612), caf, cag, cah) → new_pePe(new_lt22(yvy1600, yvy1610, caf), new_asAs(new_esEs39(yvy1600, yvy1610, caf), new_pePe(new_lt23(yvy1601, yvy1611, cag), new_asAs(new_esEs40(yvy1601, yvy1611, cag), new_ltEs24(yvy1602, yvy1612, cah)))))
new_esEs33(yvy4001, yvy3001, app(app(ty_Either, dgd), dge)) → new_esEs13(yvy4001, yvy3001, dgd, dge)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_lt8(yvy193, yvy196, ty_@0) → new_lt15(yvy193, yvy196)
new_not(True) → False
new_compare210(yvy205, yvy206, yvy207, yvy208, True, ehh, faa) → EQ
new_primMinusNat0(Succ(yvy90200), Succ(yvy21800)) → new_primMinusNat0(yvy90200, yvy21800)
new_ltEs23(yvy206, yvy208, ty_Float) → new_ltEs12(yvy206, yvy208)
new_gt(yvy81, yvy76, app(app(app(ty_@3, fef), feg), feh)) → new_gt1(yvy81, yvy76, fef, feg, feh)
new_esEs29(yvy4002, yvy3002, ty_Int) → new_esEs16(yvy4002, yvy3002)
new_esEs13(Right(yvy4000), Right(yvy3000), ebb, app(ty_Ratio, gdc)) → new_esEs14(yvy4000, yvy3000, gdc)
new_ltEs8(yvy160, yvy161) → new_fsEs(new_compare9(yvy160, yvy161))
new_mkBalBranch6MkBalBranch01(yvy50, yvy51, yvy540, yvy541, yvy542, Branch(yvy5430, yvy5431, yvy5432, yvy5433, yvy5434), yvy544, yvy90, False, h, ba) → new_mkBranch1(Succ(Succ(Succ(Succ(Zero)))), yvy5430, yvy5431, new_mkBranchResult(yvy50, yvy51, yvy90, yvy5433, h, ba), Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yvy540, yvy541, yvy5434, yvy544, h, ba)
new_esEs20(True, True) → True
new_lt5(yvy40, yvy30) → new_esEs26(new_compare8(yvy40, yvy30))
new_ltEs21(yvy160, yvy161, ty_@0) → new_ltEs11(yvy160, yvy161)
new_ltEs13(Just(yvy1600), Just(yvy1610), app(ty_[], gfc)) → new_ltEs15(yvy1600, yvy1610, gfc)
new_esEs8(yvy401, yvy301, ty_Bool) → new_esEs20(yvy401, yvy301)
new_compare16(Right(yvy400), Right(yvy300), cc, cd) → new_compare25(yvy400, yvy300, new_esEs10(yvy400, yvy300, cd), cc, cd)
new_ltEs10(False, True) → True
new_esEs28(yvy4001, yvy3001, app(ty_[], dcg)) → new_esEs15(yvy4001, yvy3001, dcg)
new_compare15(yvy245, yvy246, True, bff, bfg) → LT
new_lt22(yvy1600, yvy1610, app(ty_Ratio, fha)) → new_lt6(yvy1600, yvy1610, fha)
new_mkBalBranch6MkBalBranch5(yvy50, yvy51, yvy54, yvy90, True, h, ba) → new_mkBranchResult(yvy50, yvy51, yvy90, yvy54, h, ba)
new_lt25(yvy40, yvy30, ty_@0) → new_lt15(yvy40, yvy30)
new_esEs32(yvy4000, yvy3000, app(app(app(ty_@3, dga), dgb), dgc)) → new_esEs24(yvy4000, yvy3000, dga, dgb, dgc)
new_gt14(yvy35, yvy30, ty_Int) → new_gt3(yvy35, yvy30)
new_lt22(yvy1600, yvy1610, app(app(ty_@2, fgc), fgd)) → new_lt13(yvy1600, yvy1610, fgc, fgd)
new_gt15(yvy40, yvy30, app(app(ty_Either, cc), cd)) → new_gt2(yvy40, yvy30, cc, cd)
new_esEs27(yvy4000, yvy3000, ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_addToFM_C20(yvy76, yvy77, yvy78, yvy79, yvy80, yvy81, yvy82, False, fed, fee) → new_addToFM_C10(yvy76, yvy77, yvy78, yvy79, yvy80, yvy81, yvy82, new_gt(yvy81, yvy76, fed), fed, fee)
new_sizeFM0(Branch(yvy540, yvy541, yvy542, yvy543, yvy544), h, ba) → yvy542
new_esEs28(yvy4001, yvy3001, ty_Float) → new_esEs21(yvy4001, yvy3001)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(ty_Ratio, ed), de) → new_ltEs17(yvy1600, yvy1610, ed)
new_esEs5(yvy401, yvy301, ty_Int) → new_esEs16(yvy401, yvy301)
new_primMulNat0(Zero, Zero) → Zero
new_esEs39(yvy1600, yvy1610, ty_Int) → new_esEs16(yvy1600, yvy1610)
new_ltEs24(yvy1602, yvy1612, ty_Ordering) → new_ltEs6(yvy1602, yvy1612)
new_lt21(yvy205, yvy207, ty_Double) → new_lt12(yvy205, yvy207)
new_ltEs20(yvy174, yvy175, ty_Float) → new_ltEs12(yvy174, yvy175)
new_ltEs4(Right(yvy1600), Right(yvy1610), ee, ty_Bool) → new_ltEs10(yvy1600, yvy1610)
new_gt(yvy81, yvy76, ty_Ordering) → new_gt6(yvy81, yvy76)
new_lt23(yvy1601, yvy1611, app(ty_[], gab)) → new_lt4(yvy1601, yvy1611, gab)
new_ltEs20(yvy174, yvy175, ty_@0) → new_ltEs11(yvy174, yvy175)
new_gt14(yvy35, yvy30, ty_Bool) → new_gt9(yvy35, yvy30)
new_ltEs24(yvy1602, yvy1612, ty_Char) → new_ltEs16(yvy1602, yvy1612)
new_ltEs13(Nothing, Just(yvy1610), cbc) → True
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Integer) → new_ltEs14(yvy1600, yvy1610)
new_esEs4(yvy400, yvy300, app(ty_[], ebe)) → new_esEs15(yvy400, yvy300, ebe)
new_mkBalBranch6MkBalBranch01(yvy50, yvy51, yvy540, yvy541, yvy542, yvy543, yvy544, yvy90, True, h, ba) → new_mkBranchResult(yvy540, yvy541, new_mkBranchResult(yvy50, yvy51, yvy90, yvy543, h, ba), yvy544, h, ba)
new_lt24(yvy40, yvy50, app(app(ty_@2, ca), cb)) → new_lt13(yvy40, yvy50, ca, cb)
new_esEs35(yvy1600, yvy1610, ty_Float) → new_esEs21(yvy1600, yvy1610)
new_esEs21(Float(yvy4000, yvy4001), Float(yvy3000, yvy3001)) → new_esEs16(new_sr0(yvy4000, yvy3000), new_sr0(yvy4001, yvy3001))
new_esEs13(Right(yvy4000), Right(yvy3000), ebb, ty_Float) → new_esEs21(yvy4000, yvy3000)
new_esEs36(yvy205, yvy207, app(app(ty_Either, fag), fah)) → new_esEs13(yvy205, yvy207, fag, fah)
new_esEs6(yvy402, yvy302, ty_Ordering) → new_esEs19(yvy402, yvy302)
new_ltEs23(yvy206, yvy208, app(app(ty_Either, fca), fcb)) → new_ltEs4(yvy206, yvy208, fca, fcb)
new_compare28(Just(yvy400), Just(yvy300), ce) → new_compare26(yvy400, yvy300, new_esEs11(yvy400, yvy300, ce), ce)
new_compare28(Nothing, Nothing, ce) → EQ
new_ltEs13(Just(yvy1600), Just(yvy1610), app(app(ty_Either, geh), gfa)) → new_ltEs4(yvy1600, yvy1610, geh, gfa)
new_esEs32(yvy4000, yvy3000, ty_Ordering) → new_esEs19(yvy4000, yvy3000)
new_compare16(Left(yvy400), Left(yvy300), cc, cd) → new_compare211(yvy400, yvy300, new_esEs9(yvy400, yvy300, cc), cc, cd)
new_esEs4(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_esEs10(yvy400, yvy300, app(ty_[], cde)) → new_esEs15(yvy400, yvy300, cde)
new_gt14(yvy35, yvy30, app(ty_Maybe, cha)) → new_gt11(yvy35, yvy30, cha)
new_esEs30(yvy192, yvy195, ty_Ordering) → new_esEs19(yvy192, yvy195)
new_esEs9(yvy400, yvy300, app(ty_[], ccc)) → new_esEs15(yvy400, yvy300, ccc)
new_esEs38(yvy4001, yvy3001, ty_Integer) → new_esEs17(yvy4001, yvy3001)
new_compare210(yvy205, yvy206, yvy207, yvy208, False, ehh, faa) → new_compare110(yvy205, yvy206, yvy207, yvy208, new_lt21(yvy205, yvy207, ehh), new_asAs(new_esEs36(yvy205, yvy207, ehh), new_ltEs23(yvy206, yvy208, faa)), ehh, faa)
new_ltEs18(yvy194, yvy197, ty_Bool) → new_ltEs10(yvy194, yvy197)
new_primMulNat1(Zero) → Zero
new_lt8(yvy193, yvy196, app(ty_Ratio, bah)) → new_lt6(yvy193, yvy196, bah)
new_esEs32(yvy4000, yvy3000, ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_compare31(yvy400, yvy300, ty_Char) → new_compare30(yvy400, yvy300)
new_splitLT20(yvy30, yvy31, yvy32, yvy33, yvy34, yvy35, True, cfh, cga) → new_splitLT0(yvy33, yvy35, cfh, cga)
new_esEs28(yvy4001, yvy3001, ty_Ordering) → new_esEs19(yvy4001, yvy3001)
new_lt20(yvy1600, yvy1610, ty_Float) → new_lt17(yvy1600, yvy1610)
new_esEs17(Integer(yvy4000), Integer(yvy3000)) → new_primEqInt(yvy4000, yvy3000)
new_lt20(yvy1600, yvy1610, ty_Bool) → new_lt14(yvy1600, yvy1610)
new_lt7(yvy192, yvy195, ty_Bool) → new_lt14(yvy192, yvy195)
new_compare18(EQ, EQ) → EQ
new_gt11(yvy40, yvy30, ce) → new_esEs41(new_compare28(yvy40, yvy30, ce))
new_gt14(yvy35, yvy30, ty_@0) → new_gt10(yvy35, yvy30)
new_lt22(yvy1600, yvy1610, ty_Char) → new_lt19(yvy1600, yvy1610)
new_ltEs22(yvy1601, yvy1611, app(ty_Maybe, ehe)) → new_ltEs13(yvy1601, yvy1611, ehe)
new_esEs8(yvy401, yvy301, app(app(app(ty_@3, caa), cab), cac)) → new_esEs24(yvy401, yvy301, caa, cab, cac)
new_ltEs21(yvy160, yvy161, ty_Double) → new_ltEs8(yvy160, yvy161)
new_splitGT10(yvy45, yvy46, yvy47, yvy48, yvy49, yvy50, False, cff, cfg) → yvy49
new_compare31(yvy400, yvy300, app(app(ty_@2, ceg), ceh)) → new_compare29(yvy400, yvy300, ceg, ceh)
new_compare11(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, False, bc, bd, be) → GT
new_esEs11(yvy400, yvy300, app(ty_Maybe, bfb)) → new_esEs12(yvy400, yvy300, bfb)
new_compare12(True, True) → EQ
new_esEs40(yvy1601, yvy1611, app(ty_Ratio, gac)) → new_esEs14(yvy1601, yvy1611, gac)
new_lt9(yvy40, yvy30, bf, bg, bh) → new_esEs26(new_compare17(yvy40, yvy30, bf, bg, bh))
new_ltEs4(Left(yvy1600), Left(yvy1610), app(ty_Maybe, eb), de) → new_ltEs13(yvy1600, yvy1610, eb)
new_gt(yvy81, yvy76, app(ty_Maybe, ffe)) → new_gt11(yvy81, yvy76, ffe)
new_lt26(yvy20, yvy15, ty_Char) → new_lt19(yvy20, yvy15)
new_esEs11(yvy400, yvy300, app(ty_[], beg)) → new_esEs15(yvy400, yvy300, beg)
new_ltEs4(Left(yvy1600), Right(yvy1610), ee, de) → True
new_esEs11(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_ltEs19(yvy167, yvy168, ty_Int) → new_ltEs7(yvy167, yvy168)
new_compare18(GT, GT) → EQ
new_mkBalBranch6MkBalBranch11(yvy50, yvy51, yvy54, yvy900, yvy901, yvy902, yvy903, yvy904, True, h, ba) → new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yvy900, yvy901, yvy903, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yvy50, yvy51, yvy904, yvy54, h, ba)
new_primCmpNat0(Zero, Succ(yvy3000)) → LT
new_splitLT10(yvy60, yvy61, yvy62, yvy63, yvy64, yvy65, True, cg, da) → new_mkVBalBranch0(yvy60, yvy61, yvy63, new_splitLT0(yvy64, yvy65, cg, da), cg, da)
new_mkBalBranch6MkBalBranch3(yvy50, yvy51, yvy54, yvy90, False, h, ba) → new_mkBranchResult(yvy50, yvy51, yvy90, yvy54, h, ba)
new_esEs38(yvy4001, yvy3001, ty_Int) → new_esEs16(yvy4001, yvy3001)
new_esEs39(yvy1600, yvy1610, ty_Bool) → new_esEs20(yvy1600, yvy1610)
new_gt5(yvy40, yvy30, cf) → new_esEs41(new_compare6(yvy40, yvy30, cf))
new_esEs36(yvy205, yvy207, ty_Bool) → new_esEs20(yvy205, yvy207)
new_lt20(yvy1600, yvy1610, ty_@0) → new_lt15(yvy1600, yvy1610)
new_lt20(yvy1600, yvy1610, ty_Char) → new_lt19(yvy1600, yvy1610)
new_mkBranch0(yvy328, yvy329, yvy330, yvy331, yvy332, beb, bec) → new_mkBranchResult(yvy329, yvy330, yvy331, yvy332, beb, bec)
new_esEs10(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_esEs8(yvy401, yvy301, ty_Float) → new_esEs21(yvy401, yvy301)
new_lt26(yvy20, yvy15, app(ty_Maybe, fea)) → new_lt18(yvy20, yvy15, fea)
new_esEs30(yvy192, yvy195, app(ty_Maybe, hd)) → new_esEs12(yvy192, yvy195, hd)
new_esEs29(yvy4002, yvy3002, ty_Ordering) → new_esEs19(yvy4002, yvy3002)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Char) → new_ltEs16(yvy1600, yvy1610)
new_compare18(LT, GT) → LT
new_esEs27(yvy4000, yvy3000, app(ty_Maybe, dbh)) → new_esEs12(yvy4000, yvy3000, dbh)
new_mkVBalBranch0(yvy40, yvy41, EmptyFM, yvy5, h, ba) → new_addToFM(yvy5, yvy40, yvy41, h, ba)
new_gt10(yvy40, yvy30) → new_esEs41(new_compare27(yvy40, yvy30))
new_esEs32(yvy4000, yvy3000, ty_Char) → new_esEs23(yvy4000, yvy3000)
new_esEs7(yvy400, yvy300, app(app(ty_@2, bgd), bge)) → new_esEs22(yvy400, yvy300, bgd, bge)
new_lt21(yvy205, yvy207, ty_Bool) → new_lt14(yvy205, yvy207)
new_ltEs4(Right(yvy1600), Right(yvy1610), ee, app(app(ty_@2, fa), fb)) → new_ltEs9(yvy1600, yvy1610, fa, fb)
new_compare31(yvy400, yvy300, ty_Ordering) → new_compare18(yvy400, yvy300)
new_lt26(yvy20, yvy15, ty_Integer) → new_lt5(yvy20, yvy15)
new_esEs33(yvy4001, yvy3001, ty_Int) → new_esEs16(yvy4001, yvy3001)
new_esEs9(yvy400, yvy300, app(app(ty_Either, cbh), cca)) → new_esEs13(yvy400, yvy300, cbh, cca)
new_esEs9(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_gt14(yvy35, yvy30, ty_Ordering) → new_gt6(yvy35, yvy30)
new_esEs6(yvy402, yvy302, ty_Float) → new_esEs21(yvy402, yvy302)
new_gt8(yvy40, yvy30, ca, cb) → new_esEs41(new_compare29(yvy40, yvy30, ca, cb))
new_ltEs19(yvy167, yvy168, ty_Ordering) → new_ltEs6(yvy167, yvy168)
new_compare7(yvy40, yvy30) → new_primCmpInt(yvy40, yvy30)
new_esEs30(yvy192, yvy195, ty_@0) → new_esEs25(yvy192, yvy195)
new_esEs8(yvy401, yvy301, ty_Char) → new_esEs23(yvy401, yvy301)
new_esEs33(yvy4001, yvy3001, ty_Bool) → new_esEs20(yvy4001, yvy3001)
new_mkBalBranch6MkBalBranch11(yvy50, yvy51, yvy54, yvy900, yvy901, yvy902, yvy903, Branch(yvy9040, yvy9041, yvy9042, yvy9043, yvy9044), False, h, ba) → new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yvy9040, yvy9041, new_mkBranch0(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), yvy900, yvy901, yvy903, yvy9043, h, ba), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), yvy50, yvy51, yvy9044, yvy54, h, ba)
new_compare31(yvy400, yvy300, ty_Double) → new_compare9(yvy400, yvy300)
new_esEs5(yvy401, yvy301, app(app(ty_Either, ebf), ebg)) → new_esEs13(yvy401, yvy301, ebf, ebg)
new_gt(yvy81, yvy76, ty_Int) → new_gt3(yvy81, yvy76)
new_esEs34(yvy4000, yvy3000, ty_Double) → new_esEs18(yvy4000, yvy3000)
new_esEs31(yvy193, yvy196, app(ty_[], bag)) → new_esEs15(yvy193, yvy196, bag)
new_ltEs18(yvy194, yvy197, ty_Ordering) → new_ltEs6(yvy194, yvy197)
new_esEs29(yvy4002, yvy3002, ty_Float) → new_esEs21(yvy4002, yvy3002)
new_lt23(yvy1601, yvy1611, ty_Bool) → new_lt14(yvy1601, yvy1611)
new_compare110(yvy279, yvy280, yvy281, yvy282, False, yvy284, cbf, cbg) → new_compare111(yvy279, yvy280, yvy281, yvy282, yvy284, cbf, cbg)
new_lt22(yvy1600, yvy1610, app(app(ty_Either, fge), fgf)) → new_lt16(yvy1600, yvy1610, fge, fgf)
new_ltEs20(yvy174, yvy175, app(app(app(ty_@3, bch), bda), bdb)) → new_ltEs5(yvy174, yvy175, bch, bda, bdb)
new_gt15(yvy40, yvy30, ty_Double) → new_gt7(yvy40, yvy30)
new_esEs10(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_esEs30(yvy192, yvy195, ty_Float) → new_esEs21(yvy192, yvy195)
new_gt15(yvy40, yvy30, app(app(ty_@2, ca), cb)) → new_gt8(yvy40, yvy30, ca, cb)
new_esEs32(yvy4000, yvy3000, app(app(ty_@2, dff), dfg)) → new_esEs22(yvy4000, yvy3000, dff, dfg)
new_ltEs19(yvy167, yvy168, app(ty_Ratio, eba)) → new_ltEs17(yvy167, yvy168, eba)
new_ltEs17(yvy160, yvy161, cbe) → new_fsEs(new_compare6(yvy160, yvy161, cbe))
new_esEs25(@0, @0) → True
new_gt1(yvy40, yvy30, bf, bg, bh) → new_esEs41(new_compare17(yvy40, yvy30, bf, bg, bh))
new_compare111(yvy279, yvy280, yvy281, yvy282, True, cbf, cbg) → LT
new_lt25(yvy40, yvy30, ty_Ordering) → new_lt10(yvy40, yvy30)
new_esEs35(yvy1600, yvy1610, ty_Double) → new_esEs18(yvy1600, yvy1610)
new_lt20(yvy1600, yvy1610, app(ty_Maybe, egc)) → new_lt18(yvy1600, yvy1610, egc)
new_esEs27(yvy4000, yvy3000, ty_Char) → new_esEs23(yvy4000, yvy3000)
new_esEs13(Left(yvy4000), Left(yvy3000), app(app(app(ty_@3, gcf), gcg), gch), ebc) → new_esEs24(yvy4000, yvy3000, gcf, gcg, gch)
new_esEs8(yvy401, yvy301, ty_Double) → new_esEs18(yvy401, yvy301)
new_ltEs6(EQ, EQ) → True
new_esEs26(GT) → False
new_ltEs20(yvy174, yvy175, app(ty_Ratio, bea)) → new_ltEs17(yvy174, yvy175, bea)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_@0) → new_ltEs11(yvy1600, yvy1610)
new_esEs28(yvy4001, yvy3001, ty_Int) → new_esEs16(yvy4001, yvy3001)
new_esEs5(yvy401, yvy301, app(app(ty_@2, ecb), ecc)) → new_esEs22(yvy401, yvy301, ecb, ecc)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(app(ty_Either, dh), ea), de) → new_ltEs4(yvy1600, yvy1610, dh, ea)
new_primEqInt(Neg(Succ(yvy40000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(yvy30000))) → False
new_lt22(yvy1600, yvy1610, app(app(app(ty_@3, ffh), fga), fgb)) → new_lt9(yvy1600, yvy1610, ffh, fga, fgb)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Ordering, ebc) → new_esEs19(yvy4000, yvy3000)
new_gt(yvy81, yvy76, ty_Double) → new_gt7(yvy81, yvy76)
new_gt12(yvy40, yvy30) → new_esEs41(new_compare8(yvy40, yvy30))
new_compare10(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, True, yvy271, bc, bd, be) → new_compare11(yvy264, yvy265, yvy266, yvy267, yvy268, yvy269, True, bc, bd, be)
new_esEs7(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_esEs39(yvy1600, yvy1610, app(ty_Maybe, fgg)) → new_esEs12(yvy1600, yvy1610, fgg)
new_esEs5(yvy401, yvy301, app(ty_Maybe, ecd)) → new_esEs12(yvy401, yvy301, ecd)
new_ltEs21(yvy160, yvy161, app(app(ty_Either, ee), de)) → new_ltEs4(yvy160, yvy161, ee, de)
new_esEs39(yvy1600, yvy1610, app(ty_Ratio, fha)) → new_esEs14(yvy1600, yvy1610, fha)
new_esEs13(Right(yvy4000), Right(yvy3000), ebb, app(app(ty_@2, gde), gdf)) → new_esEs22(yvy4000, yvy3000, gde, gdf)
new_gt15(yvy40, yvy30, ty_Char) → new_gt13(yvy40, yvy30)
new_esEs7(yvy400, yvy300, app(app(app(ty_@3, bgg), bgh), bha)) → new_esEs24(yvy400, yvy300, bgg, bgh, bha)
new_ltEs24(yvy1602, yvy1612, app(app(app(ty_@3, gad), gae), gaf)) → new_ltEs5(yvy1602, yvy1612, gad, gae, gaf)
new_splitLT0(Branch(yvy330, yvy331, yvy332, yvy333, yvy334), yvy35, cfh, cga) → new_splitLT30(yvy330, yvy331, yvy332, yvy333, yvy334, yvy35, cfh, cga)
new_ltEs19(yvy167, yvy168, ty_@0) → new_ltEs11(yvy167, yvy168)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Int) → new_esEs16(yvy4000, yvy3000)
new_primCmpNat0(Succ(yvy4000), Succ(yvy3000)) → new_primCmpNat0(yvy4000, yvy3000)
new_primMinusNat0(Succ(yvy90200), Zero) → Pos(Succ(yvy90200))
new_esEs35(yvy1600, yvy1610, ty_Char) → new_esEs23(yvy1600, yvy1610)
new_compare5(:(yvy400, yvy401), [], bb) → GT
new_lt25(yvy40, yvy30, app(ty_Ratio, cf)) → new_lt6(yvy40, yvy30, cf)
new_mkBranchResult(yvy50, yvy51, yvy90, yvy54, h, ba) → Branch(yvy50, yvy51, new_primPlusInt(new_primPlusInt(Pos(Succ(Zero)), new_sizeFM0(yvy90, h, ba)), new_sizeFM0(yvy54, h, ba)), yvy90, yvy54)
new_esEs29(yvy4002, yvy3002, app(ty_Maybe, ded)) → new_esEs12(yvy4002, yvy3002, ded)
new_esEs31(yvy193, yvy196, ty_Double) → new_esEs18(yvy193, yvy196)
new_esEs30(yvy192, yvy195, ty_Int) → new_esEs16(yvy192, yvy195)
new_lt7(yvy192, yvy195, app(ty_Maybe, hd)) → new_lt18(yvy192, yvy195, hd)
new_esEs18(Double(yvy4000, yvy4001), Double(yvy3000, yvy3001)) → new_esEs16(new_sr0(yvy4000, yvy3000), new_sr0(yvy4001, yvy3001))
new_esEs6(yvy402, yvy302, ty_Bool) → new_esEs20(yvy402, yvy302)
new_esEs40(yvy1601, yvy1611, app(app(ty_Either, fhg), fhh)) → new_esEs13(yvy1601, yvy1611, fhg, fhh)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Char, de) → new_ltEs16(yvy1600, yvy1610)
new_primCompAux00(yvy180, LT) → LT
new_esEs33(yvy4001, yvy3001, app(app(ty_@2, dgh), dha)) → new_esEs22(yvy4001, yvy3001, dgh, dha)
new_ltEs4(Right(yvy1600), Right(yvy1610), ee, ty_Float) → new_ltEs12(yvy1600, yvy1610)
new_sizeFM(yvy50, yvy51, yvy52, yvy53, yvy54, h, ba) → yvy52
new_esEs15([], [], ebe) → True
new_ltEs23(yvy206, yvy208, ty_Bool) → new_ltEs10(yvy206, yvy208)
new_lt8(yvy193, yvy196, app(ty_[], bag)) → new_lt4(yvy193, yvy196, bag)
new_primEqInt(Pos(Succ(yvy40000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(yvy30000))) → False
new_splitGT10(yvy45, yvy46, yvy47, yvy48, yvy49, yvy50, True, cff, cfg) → new_mkVBalBranch0(yvy45, yvy46, new_splitGT0(yvy48, yvy50, cff, cfg), yvy49, cff, cfg)
new_lt8(yvy193, yvy196, app(app(ty_@2, bab), bac)) → new_lt13(yvy193, yvy196, bab, bac)
new_primPlusNat0(Succ(yvy90200), Zero) → Succ(yvy90200)
new_primPlusNat0(Zero, Succ(yvy21800)) → Succ(yvy21800)
new_esEs33(yvy4001, yvy3001, app(app(app(ty_@3, dhc), dhd), dhe)) → new_esEs24(yvy4001, yvy3001, dhc, dhd, dhe)
new_esEs5(yvy401, yvy301, ty_Ordering) → new_esEs19(yvy401, yvy301)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(yvy4000), Zero) → GT
new_ltEs21(yvy160, yvy161, app(ty_Ratio, cbe)) → new_ltEs17(yvy160, yvy161, cbe)
new_gt(yvy81, yvy76, ty_Integer) → new_gt12(yvy81, yvy76)
new_esEs36(yvy205, yvy207, ty_Double) → new_esEs18(yvy205, yvy207)
new_lt26(yvy20, yvy15, ty_Float) → new_lt17(yvy20, yvy15)
new_mkBalBranch6MkBalBranch4(yvy50, yvy51, Branch(yvy540, yvy541, yvy542, yvy543, yvy544), yvy90, True, h, ba) → new_mkBalBranch6MkBalBranch01(yvy50, yvy51, yvy540, yvy541, yvy542, yvy543, yvy544, yvy90, new_lt11(new_sizeFM0(yvy543, h, ba), new_sr0(Pos(Succ(Succ(Zero))), new_sizeFM0(yvy544, h, ba))), h, ba)
new_primCmpInt(Neg(Zero), Pos(Succ(yvy3000))) → LT
new_esEs13(Right(yvy4000), Right(yvy3000), ebb, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_esEs34(yvy4000, yvy3000, ty_Int) → new_esEs16(yvy4000, yvy3000)
new_lt25(yvy40, yvy30, app(ty_[], bb)) → new_lt4(yvy40, yvy30, bb)
new_esEs7(yvy400, yvy300, app(ty_Maybe, bgf)) → new_esEs12(yvy400, yvy300, bgf)
new_primEqInt(Pos(Succ(yvy40000)), Neg(yvy3000)) → False
new_primEqInt(Neg(Succ(yvy40000)), Pos(yvy3000)) → False
new_esEs8(yvy401, yvy301, app(app(ty_Either, bhb), bhc)) → new_esEs13(yvy401, yvy301, bhb, bhc)
new_esEs35(yvy1600, yvy1610, ty_Int) → new_esEs16(yvy1600, yvy1610)
new_esEs20(False, False) → True
new_primPlusInt(Neg(yvy9020), Pos(yvy2180)) → new_primMinusNat0(yvy2180, yvy9020)
new_primPlusInt(Pos(yvy9020), Neg(yvy2180)) → new_primMinusNat0(yvy9020, yvy2180)
new_mkBalBranch6MkBalBranch3(yvy50, yvy51, yvy54, EmptyFM, True, h, ba) → error([])
new_esEs12(Just(yvy4000), Just(yvy3000), app(app(app(ty_@3, dad), dae), daf)) → new_esEs24(yvy4000, yvy3000, dad, dae, daf)
new_lt24(yvy40, yvy50, ty_Double) → new_lt12(yvy40, yvy50)
new_ltEs24(yvy1602, yvy1612, ty_Bool) → new_ltEs10(yvy1602, yvy1612)
new_lt20(yvy1600, yvy1610, app(app(ty_@2, efg), efh)) → new_lt13(yvy1600, yvy1610, efg, efh)
new_ltEs19(yvy167, yvy168, app(app(ty_@2, eac), ead)) → new_ltEs9(yvy167, yvy168, eac, ead)
new_compare18(EQ, LT) → GT
new_lt18(yvy40, yvy30, ce) → new_esEs26(new_compare28(yvy40, yvy30, ce))
new_esEs10(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_lt23(yvy1601, yvy1611, ty_Char) → new_lt19(yvy1601, yvy1611)
new_lt24(yvy40, yvy50, app(app(app(ty_@3, bf), bg), bh)) → new_lt9(yvy40, yvy50, bf, bg, bh)
new_ltEs18(yvy194, yvy197, app(app(ty_@2, bbd), bbe)) → new_ltEs9(yvy194, yvy197, bbd, bbe)
new_lt20(yvy1600, yvy1610, app(app(app(ty_@3, efd), efe), eff)) → new_lt9(yvy1600, yvy1610, efd, efe, eff)
new_lt23(yvy1601, yvy1611, app(app(app(ty_@3, fhb), fhc), fhd)) → new_lt9(yvy1601, yvy1611, fhb, fhc, fhd)
new_ltEs23(yvy206, yvy208, ty_@0) → new_ltEs11(yvy206, yvy208)
new_esEs9(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_esEs41(EQ) → False
new_esEs5(yvy401, yvy301, app(app(app(ty_@3, ece), ecf), ecg)) → new_esEs24(yvy401, yvy301, ece, ecf, ecg)
new_esEs40(yvy1601, yvy1611, ty_@0) → new_esEs25(yvy1601, yvy1611)
new_lt15(yvy40, yvy30) → new_esEs26(new_compare27(yvy40, yvy30))
new_compare26(yvy174, yvy175, True, bcg) → EQ
new_ltEs23(yvy206, yvy208, ty_Double) → new_ltEs8(yvy206, yvy208)
new_ltEs4(Right(yvy1600), Right(yvy1610), ee, ty_Char) → new_ltEs16(yvy1600, yvy1610)
new_esEs11(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_lt23(yvy1601, yvy1611, ty_Float) → new_lt17(yvy1601, yvy1611)
new_ltEs13(Just(yvy1600), Just(yvy1610), ty_Ordering) → new_ltEs6(yvy1600, yvy1610)
new_ltEs4(Right(yvy1600), Left(yvy1610), ee, de) → False
new_ltEs23(yvy206, yvy208, app(ty_Ratio, fce)) → new_ltEs17(yvy206, yvy208, fce)
new_sr1(Neg(yvy930)) → Neg(new_primMulNat1(yvy930))
new_esEs10(yvy400, yvy300, ty_Float) → new_esEs21(yvy400, yvy300)
new_primCmpInt(Pos(Succ(yvy4000)), Pos(yvy300)) → new_primCmpNat0(Succ(yvy4000), yvy300)
new_esEs33(yvy4001, yvy3001, ty_Double) → new_esEs18(yvy4001, yvy3001)
new_esEs8(yvy401, yvy301, ty_Ordering) → new_esEs19(yvy401, yvy301)
new_esEs40(yvy1601, yvy1611, ty_Integer) → new_esEs17(yvy1601, yvy1611)
new_esEs6(yvy402, yvy302, app(app(ty_@2, edd), ede)) → new_esEs22(yvy402, yvy302, edd, ede)
new_ltEs24(yvy1602, yvy1612, ty_Float) → new_ltEs12(yvy1602, yvy1612)
new_esEs31(yvy193, yvy196, app(ty_Ratio, bah)) → new_esEs14(yvy193, yvy196, bah)
new_esEs36(yvy205, yvy207, ty_Int) → new_esEs16(yvy205, yvy207)
new_lt21(yvy205, yvy207, app(app(app(ty_@3, fab), fac), fad)) → new_lt9(yvy205, yvy207, fab, fac, fad)
new_mkBranch1(yvy324, yvy325, yvy326, yvy327, yvy328, yvy329, yvy330, yvy331, yvy332, beb, bec) → new_mkBranchResult(yvy325, yvy326, yvy327, new_mkBranch0(yvy328, yvy329, yvy330, yvy331, yvy332, beb, bec), beb, bec)
new_esEs4(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_esEs19(LT, GT) → False
new_esEs19(GT, LT) → False
new_ltEs19(yvy167, yvy168, app(ty_[], eah)) → new_ltEs15(yvy167, yvy168, eah)
new_lt21(yvy205, yvy207, ty_Char) → new_lt19(yvy205, yvy207)
new_lt6(yvy40, yvy30, cf) → new_esEs26(new_compare6(yvy40, yvy30, cf))
new_primCmpInt(Pos(Succ(yvy4000)), Neg(yvy300)) → GT
new_lt26(yvy20, yvy15, app(app(app(ty_@3, fdb), fdc), fdd)) → new_lt9(yvy20, yvy15, fdb, fdc, fdd)
new_primMulInt(Pos(yvy4000), Pos(yvy3000)) → Pos(new_primMulNat0(yvy4000, yvy3000))
new_gt3(yvy40, yvy30) → new_esEs41(new_compare7(yvy40, yvy30))
new_compare31(yvy400, yvy300, ty_Bool) → new_compare12(yvy400, yvy300)
new_mkVBalBranch3MkVBalBranch20(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, True, h, ba) → new_mkBalBranch(yvy50, yvy51, new_mkVBalBranch0(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), yvy53, h, ba), yvy54, h, ba)
new_esEs6(yvy402, yvy302, app(app(app(ty_@3, edg), edh), eea)) → new_esEs24(yvy402, yvy302, edg, edh, eea)
new_esEs10(yvy400, yvy300, app(app(ty_Either, cdb), cdc)) → new_esEs13(yvy400, yvy300, cdb, cdc)
new_lt8(yvy193, yvy196, ty_Float) → new_lt17(yvy193, yvy196)
new_esEs4(yvy400, yvy300, app(ty_Ratio, ebd)) → new_esEs14(yvy400, yvy300, ebd)
new_primPlusNat0(Zero, Zero) → Zero
new_ltEs6(LT, LT) → True
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_mkVBalBranch3MkVBalBranch10(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), yvy40, yvy41, yvy60, yvy61, yvy62, yvy63, yvy64, yvy50, yvy51, yvy52, yvy53, yvy54, h, ba)
new_esEs36(yvy205, yvy207, ty_@0) → new_esEs25(yvy205, yvy207)
new_esEs5(yvy401, yvy301, ty_Double) → new_esEs18(yvy401, yvy301)
new_lt24(yvy40, yvy50, ty_Integer) → new_lt5(yvy40, yvy50)
new_lt26(yvy20, yvy15, app(ty_Ratio, fec)) → new_lt6(yvy20, yvy15, fec)
new_lt8(yvy193, yvy196, ty_Bool) → new_lt14(yvy193, yvy196)
new_primPlusInt(Neg(yvy9020), Neg(yvy2180)) → Neg(new_primPlusNat0(yvy9020, yvy2180))
new_lt12(yvy40, yvy30) → new_esEs26(new_compare9(yvy40, yvy30))
new_lt23(yvy1601, yvy1611, ty_Double) → new_lt12(yvy1601, yvy1611)
new_esEs9(yvy400, yvy300, ty_Ordering) → new_esEs19(yvy400, yvy300)
new_sizeFM0(EmptyFM, h, ba) → Pos(Zero)
new_compare19(Float(yvy400, yvy401), Float(yvy300, yvy301)) → new_compare7(new_sr0(yvy400, yvy300), new_sr0(yvy401, yvy301))
new_ltEs21(yvy160, yvy161, app(app(app(ty_@3, caf), cag), cah)) → new_ltEs5(yvy160, yvy161, caf, cag, cah)
new_ltEs4(Left(yvy1600), Left(yvy1610), ty_Integer, de) → new_ltEs14(yvy1600, yvy1610)
new_ltEs24(yvy1602, yvy1612, app(ty_Maybe, gbc)) → new_ltEs13(yvy1602, yvy1612, gbc)
new_lt26(yvy20, yvy15, app(ty_[], feb)) → new_lt4(yvy20, yvy15, feb)
new_compare13(yvy252, yvy253, False, ga) → GT
new_ltEs18(yvy194, yvy197, app(app(app(ty_@3, bba), bbb), bbc)) → new_ltEs5(yvy194, yvy197, bba, bbb, bbc)
new_ltEs12(yvy160, yvy161) → new_fsEs(new_compare19(yvy160, yvy161))
new_primCmpInt(Neg(Zero), Neg(Succ(yvy3000))) → new_primCmpNat0(Succ(yvy3000), Zero)
new_esEs36(yvy205, yvy207, app(app(ty_@2, fae), faf)) → new_esEs22(yvy205, yvy207, fae, faf)
new_sr0(yvy400, yvy300) → new_primMulInt(yvy400, yvy300)
new_gt(yvy81, yvy76, app(ty_Ratio, ffg)) → new_gt5(yvy81, yvy76, ffg)
new_gt(yvy81, yvy76, app(app(ty_Either, ffc), ffd)) → new_gt2(yvy81, yvy76, ffc, ffd)
new_ltEs22(yvy1601, yvy1611, ty_Integer) → new_ltEs14(yvy1601, yvy1611)
new_compare15(yvy245, yvy246, False, bff, bfg) → GT
new_esEs36(yvy205, yvy207, app(app(app(ty_@3, fab), fac), fad)) → new_esEs24(yvy205, yvy207, fab, fac, fad)
new_ltEs15(yvy160, yvy161, cbd) → new_fsEs(new_compare5(yvy160, yvy161, cbd))
new_esEs34(yvy4000, yvy3000, ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_lt26(yvy20, yvy15, ty_Int) → new_lt11(yvy20, yvy15)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_@0) → new_esEs25(yvy4000, yvy3000)
new_gt15(yvy40, yvy30, app(ty_[], bb)) → new_gt0(yvy40, yvy30, bb)
new_esEs19(EQ, GT) → False
new_esEs19(GT, EQ) → False
new_lt13(yvy40, yvy30, ca, cb) → new_esEs26(new_compare29(yvy40, yvy30, ca, cb))
new_ltEs13(Just(yvy1600), Just(yvy1610), app(ty_Maybe, gfb)) → new_ltEs13(yvy1600, yvy1610, gfb)
new_esEs33(yvy4001, yvy3001, app(ty_Maybe, dhb)) → new_esEs12(yvy4001, yvy3001, dhb)
new_esEs35(yvy1600, yvy1610, app(ty_Ratio, ege)) → new_esEs14(yvy1600, yvy1610, ege)
new_mkBranch(yvy117, yvy118, yvy119, yvy120, yvy121, yvy122, yvy123, yvy124, yvy125, yvy126, yvy127, yvy128, yvy129, bce, bcf) → Branch(yvy118, yvy119, new_primPlusInt(new_primPlusInt(Pos(Succ(Zero)), new_sizeFM0(Branch(yvy120, yvy121, yvy122, yvy123, yvy124), bce, bcf)), new_sizeFM0(Branch(yvy125, yvy126, yvy127, yvy128, yvy129), bce, bcf)), Branch(yvy120, yvy121, yvy122, yvy123, yvy124), Branch(yvy125, yvy126, yvy127, yvy128, yvy129))
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Double) → new_esEs18(yvy4000, yvy3000)
new_esEs27(yvy4000, yvy3000, ty_Double) → new_esEs18(yvy4000, yvy3000)
new_ltEs9(@2(yvy1600, yvy1601), @2(yvy1610, yvy1611), cba, cbb) → new_pePe(new_lt20(yvy1600, yvy1610, cba), new_asAs(new_esEs35(yvy1600, yvy1610, cba), new_ltEs22(yvy1601, yvy1611, cbb)))
new_ltEs13(Just(yvy1600), Nothing, cbc) → False
new_esEs27(yvy4000, yvy3000, app(ty_Ratio, dbd)) → new_esEs14(yvy4000, yvy3000, dbd)
new_lt24(yvy40, yvy50, app(ty_[], bb)) → new_lt4(yvy40, yvy50, bb)
new_esEs28(yvy4001, yvy3001, ty_Bool) → new_esEs20(yvy4001, yvy3001)
new_lt22(yvy1600, yvy1610, ty_Ordering) → new_lt10(yvy1600, yvy1610)
new_mkVBalBranch0(yvy40, yvy41, Branch(yvy60, yvy61, yvy62, yvy63, yvy64), Branch(yvy50, yvy51, yvy52, yvy53, yvy54), h, ba) → new_mkVBalBranch3MkVBalBranch20(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_lt11(new_sr1(new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), h, ba)
new_lt7(yvy192, yvy195, ty_Integer) → new_lt5(yvy192, yvy195)
new_esEs10(yvy400, yvy300, ty_Char) → new_esEs23(yvy400, yvy300)
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Char, ebc) → new_esEs23(yvy4000, yvy3000)
new_esEs11(yvy400, yvy300, app(app(ty_@2, beh), bfa)) → new_esEs22(yvy400, yvy300, beh, bfa)
new_esEs8(yvy401, yvy301, ty_Integer) → new_esEs17(yvy401, yvy301)
new_primMulNat0(Zero, Succ(yvy30000)) → Zero
new_primMulNat0(Succ(yvy40000), Zero) → Zero
new_esEs35(yvy1600, yvy1610, ty_Bool) → new_esEs20(yvy1600, yvy1610)
new_lt21(yvy205, yvy207, ty_Int) → new_lt11(yvy205, yvy207)
new_esEs33(yvy4001, yvy3001, ty_Ordering) → new_esEs19(yvy4001, yvy3001)
new_esEs31(yvy193, yvy196, ty_Ordering) → new_esEs19(yvy193, yvy196)
new_gt15(yvy40, yvy30, ty_Integer) → new_gt12(yvy40, yvy30)
new_lt10(yvy40, yvy30) → new_esEs26(new_compare18(yvy40, yvy30))
new_ltEs19(yvy167, yvy168, ty_Char) → new_ltEs16(yvy167, yvy168)
new_esEs4(yvy400, yvy300, app(ty_Maybe, chd)) → new_esEs12(yvy400, yvy300, chd)
new_ltEs23(yvy206, yvy208, ty_Char) → new_ltEs16(yvy206, yvy208)
new_esEs32(yvy4000, yvy3000, ty_Double) → new_esEs18(yvy4000, yvy3000)
new_esEs6(yvy402, yvy302, ty_Double) → new_esEs18(yvy402, yvy302)
new_esEs4(yvy400, yvy300, ty_Int) → new_esEs16(yvy400, yvy300)
new_esEs4(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_compare12(False, False) → EQ
new_compare6(:%(yvy400, yvy401), :%(yvy300, yvy301), ty_Int) → new_compare7(new_sr0(yvy400, yvy301), new_sr0(yvy300, yvy401))
new_mkBalBranch6MkBalBranch01(yvy50, yvy51, yvy540, yvy541, yvy542, EmptyFM, yvy544, yvy90, False, h, ba) → error([])
new_lt23(yvy1601, yvy1611, app(app(ty_@2, fhe), fhf)) → new_lt13(yvy1601, yvy1611, fhe, fhf)
new_esEs8(yvy401, yvy301, ty_Int) → new_esEs16(yvy401, yvy301)
new_ltEs14(yvy160, yvy161) → new_fsEs(new_compare8(yvy160, yvy161))
new_esEs13(Left(yvy4000), Left(yvy3000), ty_Double, ebc) → new_esEs18(yvy4000, yvy3000)
new_lt21(yvy205, yvy207, ty_@0) → new_lt15(yvy205, yvy207)
new_primMinusNat0(Zero, Succ(yvy21800)) → Neg(Succ(yvy21800))
new_compare211(yvy160, yvy161, True, cad, cae) → EQ
new_lt8(yvy193, yvy196, ty_Char) → new_lt19(yvy193, yvy196)
new_esEs41(LT) → False
new_ltEs19(yvy167, yvy168, app(app(app(ty_@3, dhh), eaa), eab)) → new_ltEs5(yvy167, yvy168, dhh, eaa, eab)
new_mkBalBranch6MkBalBranch5(yvy50, yvy51, yvy54, yvy90, False, h, ba) → new_mkBalBranch6MkBalBranch4(yvy50, yvy51, yvy54, yvy90, new_gt3(new_mkBalBranch6Size_r(yvy50, yvy51, yvy54, yvy90, h, ba), new_sr0(new_sIZE_RATIO, new_mkBalBranch6Size_l(yvy50, yvy51, yvy54, yvy90, h, ba))), h, ba)
new_esEs34(yvy4000, yvy3000, ty_Char) → new_esEs23(yvy4000, yvy3000)
new_esEs13(Left(yvy4000), Left(yvy3000), app(ty_[], gca), ebc) → new_esEs15(yvy4000, yvy3000, gca)
new_compare16(Right(yvy400), Left(yvy300), cc, cd) → GT
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Bool) → new_esEs20(yvy4000, yvy3000)
new_esEs11(yvy400, yvy300, ty_@0) → new_esEs25(yvy400, yvy300)
new_ltEs20(yvy174, yvy175, app(ty_[], bdh)) → new_ltEs15(yvy174, yvy175, bdh)
new_ltEs19(yvy167, yvy168, app(ty_Maybe, eag)) → new_ltEs13(yvy167, yvy168, eag)
new_esEs8(yvy401, yvy301, app(ty_Ratio, bhd)) → new_esEs14(yvy401, yvy301, bhd)
new_esEs40(yvy1601, yvy1611, app(ty_Maybe, gaa)) → new_esEs12(yvy1601, yvy1611, gaa)
new_esEs9(yvy400, yvy300, app(app(app(ty_@3, ccg), cch), cda)) → new_esEs24(yvy400, yvy300, ccg, cch, cda)
new_esEs9(yvy400, yvy300, app(ty_Maybe, ccf)) → new_esEs12(yvy400, yvy300, ccf)
new_lt7(yvy192, yvy195, ty_@0) → new_lt15(yvy192, yvy195)
new_gt7(yvy40, yvy30) → new_esEs41(new_compare9(yvy40, yvy30))
new_splitLT0(EmptyFM, yvy35, cfh, cga) → new_emptyFM(cfh, cga)
new_ltEs20(yvy174, yvy175, ty_Double) → new_ltEs8(yvy174, yvy175)
new_compare26(yvy174, yvy175, False, bcg) → new_compare13(yvy174, yvy175, new_ltEs20(yvy174, yvy175, bcg), bcg)
new_compare18(LT, LT) → EQ
new_esEs36(yvy205, yvy207, ty_Ordering) → new_esEs19(yvy205, yvy207)
new_lt22(yvy1600, yvy1610, ty_Double) → new_lt12(yvy1600, yvy1610)
new_lt23(yvy1601, yvy1611, ty_Integer) → new_lt5(yvy1601, yvy1611)
new_ltEs23(yvy206, yvy208, app(ty_Maybe, fcc)) → new_ltEs13(yvy206, yvy208, fcc)
new_esEs35(yvy1600, yvy1610, app(app(ty_Either, ega), egb)) → new_esEs13(yvy1600, yvy1610, ega, egb)
new_ltEs22(yvy1601, yvy1611, ty_Bool) → new_ltEs10(yvy1601, yvy1611)
new_lt22(yvy1600, yvy1610, ty_Bool) → new_lt14(yvy1600, yvy1610)
new_mkBalBranch6MkBalBranch11(yvy50, yvy51, yvy54, yvy900, yvy901, yvy902, yvy903, EmptyFM, False, h, ba) → error([])
new_lt7(yvy192, yvy195, ty_Int) → new_lt11(yvy192, yvy195)
new_esEs13(Right(yvy4000), Right(yvy3000), ebb, app(app(app(ty_@3, gdh), gea), geb)) → new_esEs24(yvy4000, yvy3000, gdh, gea, geb)
new_primMulNat0(Succ(yvy40000), Succ(yvy30000)) → new_primPlusNat0(new_primMulNat0(yvy40000, Succ(yvy30000)), Succ(yvy30000))
new_esEs10(yvy400, yvy300, app(ty_Ratio, cdd)) → new_esEs14(yvy400, yvy300, cdd)
new_esEs35(yvy1600, yvy1610, ty_@0) → new_esEs25(yvy1600, yvy1610)
new_mkVBalBranch3MkVBalBranch20(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, False, h, ba) → new_mkVBalBranch3MkVBalBranch10(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, yvy40, yvy41, new_lt11(new_sr1(new_mkVBalBranch3Size_r(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), new_mkVBalBranch3Size_l(yvy50, yvy51, yvy52, yvy53, yvy54, yvy60, yvy61, yvy62, yvy63, yvy64, h, ba)), h, ba)
new_esEs35(yvy1600, yvy1610, app(ty_[], egd)) → new_esEs15(yvy1600, yvy1610, egd)
new_compare24(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, True, gb, gc, gd) → EQ
new_primPlusNat0(Succ(yvy90200), Succ(yvy21800)) → Succ(Succ(new_primPlusNat0(yvy90200, yvy21800)))
new_esEs11(yvy400, yvy300, ty_Integer) → new_esEs17(yvy400, yvy300)
new_lt20(yvy1600, yvy1610, ty_Ordering) → new_lt10(yvy1600, yvy1610)
new_gt14(yvy35, yvy30, app(app(ty_@2, cge), cgf)) → new_gt8(yvy35, yvy30, cge, cgf)
new_lt7(yvy192, yvy195, ty_Char) → new_lt19(yvy192, yvy195)
new_ltEs21(yvy160, yvy161, ty_Integer) → new_ltEs14(yvy160, yvy161)
new_mkBalBranch6Size_l(yvy50, yvy51, yvy54, yvy90, h, ba) → new_sizeFM0(yvy90, h, ba)
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Char) → new_esEs23(yvy4000, yvy3000)
new_compare24(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, False, gb, gc, gd) → new_compare10(yvy192, yvy193, yvy194, yvy195, yvy196, yvy197, new_lt7(yvy192, yvy195, gb), new_asAs(new_esEs30(yvy192, yvy195, gb), new_pePe(new_lt8(yvy193, yvy196, gc), new_asAs(new_esEs31(yvy193, yvy196, gc), new_ltEs18(yvy194, yvy197, gd)))), gb, gc, gd)
new_lt7(yvy192, yvy195, app(app(ty_Either, hb), hc)) → new_lt16(yvy192, yvy195, hb, hc)
new_ltEs13(Just(yvy1600), Just(yvy1610), app(ty_Ratio, gfd)) → new_ltEs17(yvy1600, yvy1610, gfd)
new_compare27(@0, @0) → EQ
new_compare30(Char(yvy400), Char(yvy300)) → new_primCmpNat0(yvy400, yvy300)
new_compare31(yvy400, yvy300, ty_Int) → new_compare7(yvy400, yvy300)
new_esEs31(yvy193, yvy196, ty_Float) → new_esEs21(yvy193, yvy196)
new_splitGT0(Branch(yvy190, yvy191, yvy192, yvy193, yvy194), yvy20, fch, fda) → new_splitGT30(yvy190, yvy191, yvy192, yvy193, yvy194, yvy20, fch, fda)
new_esEs11(yvy400, yvy300, ty_Bool) → new_esEs20(yvy400, yvy300)
new_esEs31(yvy193, yvy196, ty_Char) → new_esEs23(yvy193, yvy196)
new_esEs28(yvy4001, yvy3001, app(ty_Maybe, ddb)) → new_esEs12(yvy4001, yvy3001, ddb)
new_esEs23(Char(yvy4000), Char(yvy3000)) → new_primEqNat0(yvy4000, yvy3000)
new_esEs31(yvy193, yvy196, app(app(ty_Either, bad), bae)) → new_esEs13(yvy193, yvy196, bad, bae)
new_lt16(yvy40, yvy30, cc, cd) → new_esEs26(new_compare16(yvy40, yvy30, cc, cd))
new_esEs36(yvy205, yvy207, ty_Float) → new_esEs21(yvy205, yvy207)
new_esEs31(yvy193, yvy196, ty_Int) → new_esEs16(yvy193, yvy196)
new_ltEs24(yvy1602, yvy1612, app(app(ty_Either, gba), gbb)) → new_ltEs4(yvy1602, yvy1612, gba, gbb)
new_compare18(LT, EQ) → LT
new_esEs12(Just(yvy4000), Just(yvy3000), ty_Integer) → new_esEs17(yvy4000, yvy3000)
new_esEs29(yvy4002, yvy3002, app(ty_Ratio, ddh)) → new_esEs14(yvy4002, yvy3002, ddh)
new_gt14(yvy35, yvy30, app(ty_Ratio, chc)) → new_gt5(yvy35, yvy30, chc)
new_ltEs21(yvy160, yvy161, app(app(ty_@2, cba), cbb)) → new_ltEs9(yvy160, yvy161, cba, cbb)
new_lt7(yvy192, yvy195, ty_Float) → new_lt17(yvy192, yvy195)
new_primCompAux00(yvy180, GT) → GT
new_esEs39(yvy1600, yvy1610, ty_@0) → new_esEs25(yvy1600, yvy1610)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_lt8(yvy193, yvy196, app(app(ty_Either, bad), bae)) → new_lt16(yvy193, yvy196, bad, bae)
new_ltEs4(Left(yvy1600), Left(yvy1610), app(app(app(ty_@3, db), dc), dd), de) → new_ltEs5(yvy1600, yvy1610, db, dc, dd)
new_ltEs23(yvy206, yvy208, app(app(app(ty_@3, fbd), fbe), fbf)) → new_ltEs5(yvy206, yvy208, fbd, fbe, fbf)
new_esEs5(yvy401, yvy301, app(ty_Ratio, ebh)) → new_esEs14(yvy401, yvy301, ebh)
new_esEs39(yvy1600, yvy1610, ty_Double) → new_esEs18(yvy1600, yvy1610)
new_esEs33(yvy4001, yvy3001, ty_@0) → new_esEs25(yvy4001, yvy3001)
new_gt15(yvy40, yvy30, ty_Float) → new_gt4(yvy40, yvy30)
new_lt23(yvy1601, yvy1611, ty_@0) → new_lt15(yvy1601, yvy1611)
new_primCmpInt(Neg(Succ(yvy4000)), Pos(yvy300)) → LT
new_lt21(yvy205, yvy207, ty_Float) → new_lt17(yvy205, yvy207)
new_lt7(yvy192, yvy195, ty_Ordering) → new_lt10(yvy192, yvy195)
new_esEs34(yvy4000, yvy3000, app(app(ty_Either, eeb), eec)) → new_esEs13(yvy4000, yvy3000, eeb, eec)
new_ltEs4(Right(yvy1600), Right(yvy1610), ee, app(app(app(ty_@3, ef), eg), eh)) → new_ltEs5(yvy1600, yvy1610, ef, eg, eh)

The set Q consists of the following terms:

new_esEs7(x0, x1, ty_Char)
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_primMinusNat0(Succ(x0), Succ(x1))
new_compare24(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_esEs40(x0, x1, ty_Bool)
new_esEs4(x0, x1, app(ty_[], x2))
new_lt23(x0, x1, app(ty_Ratio, x2))
new_splitLT0(Branch(x0, x1, x2, x3, x4), x5, x6, x7)
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_@0)
new_lt23(x0, x1, ty_@0)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_lt20(x0, x1, ty_Bool)
new_esEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs13(Left(x0), Left(x1), ty_Integer, x2)
new_primMinusNat0(Zero, Zero)
new_gt14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs32(x0, x1, ty_Char)
new_esEs9(x0, x1, ty_Integer)
new_esEs8(x0, x1, ty_Int)
new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, x6, Branch(x7, x8, x9, x10, x11), False, x12, x13)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_compare31(x0, x1, app(ty_[], x2))
new_lt21(x0, x1, ty_Double)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_ltEs20(x0, x1, app(ty_[], x2))
new_ltEs11(x0, x1)
new_splitGT0(Branch(x0, x1, x2, x3, x4), x5, x6, x7)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs29(x0, x1, ty_Ordering)
new_esEs8(x0, x1, ty_Double)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_gt13(x0, x1)
new_compare5([], [], x0)
new_esEs34(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs13(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs33(x0, x1, ty_@0)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Char)
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs22(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt7(x0, x1, app(ty_Ratio, x2))
new_gt14(x0, x1, ty_Float)
new_ltEs21(x0, x1, ty_Ordering)
new_esEs35(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, ty_@0)
new_esEs4(x0, x1, ty_Double)
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_Integer)
new_esEs15([], :(x0, x1), x2)
new_compare26(x0, x1, True, x2)
new_splitLT0(EmptyFM, x0, x1, x2)
new_esEs28(x0, x1, ty_Integer)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs18(x0, x1, ty_Ordering)
new_ltEs23(x0, x1, ty_Char)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_@0)
new_esEs12(Just(x0), Just(x1), ty_Bool)
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_compare10(x0, x1, x2, x3, x4, x5, False, x6, x7, x8, x9)
new_gt15(x0, x1, app(ty_[], x2))
new_esEs35(x0, x1, ty_Float)
new_esEs36(x0, x1, ty_@0)
new_primMulNat1(Zero)
new_primCompAux0(x0, x1, x2, x3)
new_esEs13(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_gt14(x0, x1, ty_Int)
new_lt22(x0, x1, ty_Bool)
new_esEs6(x0, x1, app(ty_[], x2))
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_esEs9(x0, x1, ty_Char)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_gt14(x0, x1, app(ty_[], x2))
new_esEs35(x0, x1, ty_Int)
new_ltEs6(EQ, EQ)
new_esEs7(x0, x1, app(ty_[], x2))
new_lt22(x0, x1, app(ty_Maybe, x2))
new_mkBranchResult(x0, x1, x2, x3, x4, x5)
new_primCompAux00(x0, EQ)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs40(x0, x1, ty_@0)
new_esEs8(x0, x1, ty_Bool)
new_mkBalBranch6MkBalBranch4(x0, x1, x2, x3, False, x4, x5)
new_ltEs6(EQ, LT)
new_ltEs6(LT, EQ)
new_esEs11(x0, x1, ty_Ordering)
new_esEs13(Right(x0), Right(x1), x2, ty_Char)
new_ltEs21(x0, x1, ty_Float)
new_lt23(x0, x1, ty_Integer)
new_esEs35(x0, x1, app(ty_[], x2))
new_primEqNat0(Zero, Zero)
new_lt8(x0, x1, app(app(ty_@2, x2), x3))
new_primPlusNat1(x0, x1)
new_esEs13(Left(x0), Left(x1), ty_Char, x2)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt25(x0, x1, ty_Bool)
new_ltEs13(Nothing, Just(x0), x1)
new_esEs11(x0, x1, ty_Float)
new_ltEs23(x0, x1, ty_Int)
new_mkBranch(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14)
new_gt8(x0, x1, x2, x3)
new_esEs6(x0, x1, ty_Integer)
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_Double)
new_esEs33(x0, x1, ty_Ordering)
new_primMulNat0(Zero, Zero)
new_esEs5(x0, x1, app(app(ty_Either, x2), x3))
new_lt26(x0, x1, ty_Ordering)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_compare18(LT, LT)
new_lt7(x0, x1, app(ty_Maybe, x2))
new_compare15(x0, x1, True, x2, x3)
new_lt8(x0, x1, ty_Char)
new_primMulNat0(Succ(x0), Succ(x1))
new_gt15(x0, x1, ty_Char)
new_mkBalBranch6MkBalBranch3(x0, x1, x2, Branch(x3, x4, x5, x6, x7), True, x8, x9)
new_esEs40(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_addToFM_C10(x0, x1, x2, x3, x4, x5, x6, True, x7, x8)
new_esEs27(x0, x1, ty_Float)
new_esEs35(x0, x1, ty_Ordering)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs30(x0, x1, ty_Float)
new_esEs19(LT, LT)
new_esEs20(True, True)
new_primEqNat0(Zero, Succ(x0))
new_gt15(x0, x1, app(app(ty_Either, x2), x3))
new_esEs12(Just(x0), Just(x1), ty_Char)
new_esEs9(x0, x1, ty_@0)
new_esEs35(x0, x1, ty_Integer)
new_splitGT10(x0, x1, x2, x3, x4, x5, False, x6, x7)
new_lt25(x0, x1, ty_Ordering)
new_esEs13(Right(x0), Right(x1), x2, ty_@0)
new_lt18(x0, x1, x2)
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs13(Just(x0), Just(x1), ty_Float)
new_esEs13(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs32(x0, x1, app(ty_[], x2))
new_esEs13(Right(x0), Right(x1), x2, ty_Float)
new_esEs9(x0, x1, ty_Bool)
new_lt25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(x0, x1, ty_Int)
new_ltEs7(x0, x1)
new_compare31(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_ltEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs33(x0, x1, app(ty_Maybe, x2))
new_lt24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primMulNat0(Succ(x0), Zero)
new_ltEs22(x0, x1, ty_Bool)
new_ltEs22(x0, x1, ty_Int)
new_lt24(x0, x1, ty_Char)
new_esEs36(x0, x1, app(ty_Maybe, x2))
new_ltEs13(Just(x0), Just(x1), app(ty_[], x2))
new_esEs37(x0, x1, ty_Integer)
new_esEs15(:(x0, x1), [], x2)
new_esEs13(Left(x0), Left(x1), ty_Int, x2)
new_esEs20(False, False)
new_esEs38(x0, x1, ty_Integer)
new_compare12(False, False)
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_compare18(GT, GT)
new_esEs40(x0, x1, ty_Ordering)
new_lt8(x0, x1, ty_Integer)
new_esEs39(x0, x1, ty_Double)
new_esEs39(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Char)
new_ltEs10(False, False)
new_compare13(x0, x1, True, x2)
new_ltEs22(x0, x1, app(ty_Maybe, x2))
new_splitLT20(x0, x1, x2, x3, x4, x5, False, x6, x7)
new_lt20(x0, x1, ty_Int)
new_ltEs21(x0, x1, ty_Bool)
new_compare24(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_lt21(x0, x1, ty_Char)
new_esEs12(Just(x0), Just(x1), ty_Integer)
new_lt23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs14(:%(x0, x1), :%(x2, x3), x4)
new_esEs7(x0, x1, ty_Float)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs34(x0, x1, ty_@0)
new_lt24(x0, x1, app(ty_Ratio, x2))
new_lt24(x0, x1, ty_Bool)
new_esEs8(x0, x1, app(ty_[], x2))
new_esEs13(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_lt8(x0, x1, app(ty_[], x2))
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_esEs13(Left(x0), Left(x1), ty_Float, x2)
new_compare31(x0, x1, ty_Bool)
new_lt25(x0, x1, ty_Double)
new_esEs13(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs31(x0, x1, app(ty_[], x2))
new_ltEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs39(x0, x1, ty_@0)
new_esEs30(x0, x1, ty_Int)
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_gt11(x0, x1, x2)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_ltEs22(x0, x1, app(ty_Ratio, x2))
new_esEs40(x0, x1, ty_Integer)
new_esEs13(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_lt16(x0, x1, x2, x3)
new_lt20(x0, x1, ty_Double)
new_esEs32(x0, x1, ty_Int)
new_esEs15([], [], x0)
new_esEs39(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(:%(x0, x1), :%(x2, x3), ty_Integer)
new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, EmptyFM, x5, x6, False, x7, x8)
new_esEs27(x0, x1, ty_Int)
new_ltEs24(x0, x1, ty_Double)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, ty_Bool)
new_esEs8(x0, x1, ty_Ordering)
new_esEs32(x0, x1, ty_@0)
new_lt7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs18(x0, x1, ty_Bool)
new_esEs6(x0, x1, ty_Float)
new_ltEs17(x0, x1, x2)
new_esEs8(x0, x1, ty_Char)
new_lt8(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1)
new_mkVBalBranch0(x0, x1, Branch(x2, x3, x4, x5, x6), Branch(x7, x8, x9, x10, x11), x12, x13)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_primMinusNat0(Zero, Succ(x0))
new_sr0(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_ltEs13(Just(x0), Just(x1), ty_Bool)
new_esEs33(x0, x1, ty_Int)
new_esEs6(x0, x1, ty_Double)
new_lt21(x0, x1, ty_@0)
new_esEs32(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Neg(Zero))
new_gt15(x0, x1, ty_Bool)
new_splitLT10(x0, x1, x2, x3, x4, x5, False, x6, x7)
new_gt(x0, x1, ty_Float)
new_lt7(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_gt1(x0, x1, x2, x3, x4)
new_esEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs33(x0, x1, app(ty_Ratio, x2))
new_splitLT20(x0, x1, x2, x3, x4, x5, True, x6, x7)
new_esEs33(x0, x1, app(ty_[], x2))
new_primCmpNat0(Zero, Succ(x0))
new_lt26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_lt8(x0, x1, ty_@0)
new_compare5([], :(x0, x1), x2)
new_esEs5(x0, x1, ty_Float)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_lt7(x0, x1, ty_@0)
new_lt8(x0, x1, ty_Ordering)
new_primPlusInt(Pos(x0), Pos(x1))
new_addToFM_C20(x0, x1, x2, x3, x4, x5, x6, False, x7, x8)
new_esEs40(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs24(x0, x1, ty_Float)
new_esEs40(x0, x1, app(ty_Ratio, x2))
new_lt6(x0, x1, x2)
new_esEs13(Left(x0), Left(x1), ty_Bool, x2)
new_compare30(Char(x0), Char(x1))
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_gt14(x0, x1, app(ty_Maybe, x2))
new_esEs6(x0, x1, ty_@0)
new_esEs36(x0, x1, app(app(ty_@2, x2), x3))
new_lt10(x0, x1)
new_esEs24(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs30(x0, x1, ty_Integer)
new_esEs4(x0, x1, ty_Bool)
new_compare9(Double(x0, x1), Double(x2, x3))
new_esEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs34(x0, x1, ty_Char)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Float)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt23(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_lt25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs26(LT)
new_ltEs21(x0, x1, ty_Int)
new_esEs8(x0, x1, ty_@0)
new_lt26(x0, x1, app(ty_Ratio, x2))
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_mkVBalBranch3MkVBalBranch20(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, False, x12, x13)
new_ltEs21(x0, x1, app(ty_[], x2))
new_esEs34(x0, x1, app(ty_Maybe, x2))
new_lt25(x0, x1, ty_@0)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs33(x0, x1, ty_Char)
new_ltEs6(LT, LT)
new_lt23(x0, x1, ty_Double)
new_ltEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_compare31(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Integer)
new_esEs8(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), ty_Integer)
new_ltEs10(True, True)
new_compare210(x0, x1, x2, x3, False, x4, x5)
new_esEs30(x0, x1, ty_@0)
new_esEs34(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs31(x0, x1, ty_Double)
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_gt(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_esEs19(GT, GT)
new_ltEs13(Just(x0), Just(x1), ty_@0)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs15(x0, x1, x2)
new_esEs31(x0, x1, ty_Char)
new_gt15(x0, x1, ty_Double)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, ty_Integer)
new_lt22(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, ty_Double)
new_lt26(x0, x1, ty_Char)
new_esEs7(x0, x1, ty_Double)
new_esEs10(x0, x1, ty_Float)
new_lt25(x0, x1, ty_Char)
new_compare14(x0, x1, True, x2, x3)
new_lt23(x0, x1, app(app(ty_Either, x2), x3))
new_sr(Integer(x0), Integer(x1))
new_splitGT10(x0, x1, x2, x3, x4, x5, True, x6, x7)
new_lt26(x0, x1, ty_Integer)
new_ltEs23(x0, x1, ty_Bool)
new_addToFM_C20(x0, x1, x2, x3, x4, x5, x6, True, x7, x8)
new_compare5(:(x0, x1), [], x2)
new_lt24(x0, x1, ty_Int)
new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, Branch(x5, x6, x7, x8, x9), x10, x11, False, x12, x13)
new_esEs19(LT, EQ)
new_esEs19(EQ, LT)
new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, x6, x7, True, x8, x9)
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs9(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs35(x0, x1, app(ty_Ratio, x2))
new_addToFM(x0, x1, x2, x3, x4)
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs34(x0, x1, app(app(ty_@2, x2), x3))
new_lt22(x0, x1, ty_Float)
new_not(True)
new_lt24(x0, x1, ty_Float)
new_ltEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, ty_Double)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_not(False)
new_esEs12(Nothing, Just(x0), x1)
new_lt22(x0, x1, ty_Ordering)
new_esEs13(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs12(Just(x0), Just(x1), ty_Double)
new_compare31(x0, x1, app(ty_Maybe, x2))
new_ltEs6(GT, EQ)
new_ltEs6(EQ, GT)
new_esEs28(x0, x1, ty_Ordering)
new_compare111(x0, x1, x2, x3, False, x4, x5)
new_ltEs20(x0, x1, ty_Bool)
new_lt15(x0, x1)
new_asAs(False, x0)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs23(x0, x1, app(ty_[], x2))
new_lt7(x0, x1, app(app(ty_Either, x2), x3))
new_compare28(Nothing, Just(x0), x1)
new_esEs34(x0, x1, ty_Bool)
new_esEs29(x0, x1, ty_Bool)
new_esEs34(x0, x1, ty_Float)
new_esEs28(x0, x1, ty_Int)
new_lt21(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Char)
new_esEs13(Right(x0), Right(x1), x2, ty_Int)
new_ltEs10(True, False)
new_esEs39(x0, x1, ty_Integer)
new_ltEs10(False, True)
new_gt15(x0, x1, ty_Int)
new_esEs25(@0, @0)
new_lt8(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, ty_Bool)
new_compare27(@0, @0)
new_ltEs24(x0, x1, app(ty_Ratio, x2))
new_lt23(x0, x1, app(ty_Maybe, x2))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs39(x0, x1, ty_Char)
new_lt24(x0, x1, app(app(ty_Either, x2), x3))
new_gt(x0, x1, ty_Integer)
new_lt24(x0, x1, ty_Double)
new_compare11(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_compare13(x0, x1, False, x2)
new_ltEs24(x0, x1, ty_Integer)
new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, x6, EmptyFM, False, x7, x8)
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_lt8(x0, x1, ty_Int)
new_compare5(:(x0, x1), :(x2, x3), x4)
new_compare12(True, True)
new_primEqInt(Pos(Zero), Pos(Zero))
new_splitGT20(x0, x1, x2, x3, x4, x5, True, x6, x7)
new_esEs5(x0, x1, ty_Bool)
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs12(Just(x0), Just(x1), ty_Int)
new_mkBalBranch6Size_l(x0, x1, x2, x3, x4, x5)
new_lt25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs39(x0, x1, app(ty_Maybe, x2))
new_esEs33(x0, x1, ty_Bool)
new_ltEs13(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs29(x0, x1, app(ty_[], x2))
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_gt(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs12(Just(x0), Just(x1), ty_Float)
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_lt21(x0, x1, ty_Bool)
new_mkVBalBranch0(x0, x1, Branch(x2, x3, x4, x5, x6), EmptyFM, x7, x8)
new_esEs36(x0, x1, ty_Char)
new_ltEs19(x0, x1, ty_@0)
new_esEs33(x0, x1, ty_Double)
new_compare110(x0, x1, x2, x3, True, x4, x5, x6)
new_compare28(Just(x0), Just(x1), x2)
new_esEs11(x0, x1, ty_Int)
new_esEs29(x0, x1, ty_Float)
new_splitLT10(x0, x1, x2, x3, x4, x5, True, x6, x7)
new_lt26(x0, x1, app(ty_[], x2))
new_esEs4(x0, x1, ty_Int)
new_esEs33(x0, x1, ty_Float)
new_ltEs23(x0, x1, app(app(ty_Either, x2), x3))
new_lt23(x0, x1, ty_Bool)
new_lt21(x0, x1, app(ty_[], x2))
new_compare110(x0, x1, x2, x3, False, x4, x5, x6)
new_ltEs23(x0, x1, ty_@0)
new_esEs36(x0, x1, ty_Float)
new_gt6(x0, x1)
new_esEs27(x0, x1, ty_Bool)
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs12(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs22(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs13(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_compare6(:%(x0, x1), :%(x2, x3), ty_Int)
new_compare7(x0, x1)
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_primMulNat1(Succ(x0))
new_esEs27(x0, x1, ty_Double)
new_gt15(x0, x1, app(ty_Maybe, x2))
new_ltEs13(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs35(x0, x1, ty_Bool)
new_lt21(x0, x1, ty_Ordering)
new_esEs39(x0, x1, app(ty_Ratio, x2))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs8(x0, x1)
new_esEs13(Left(x0), Left(x1), ty_Ordering, x2)
new_primMinusNat0(Succ(x0), Zero)
new_lt8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primPlusNat0(Succ(x0), Succ(x1))
new_compare12(True, False)
new_compare12(False, True)
new_ltEs5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_mkBalBranch6MkBalBranch5(x0, x1, x2, x3, True, x4, x5)
new_gt14(x0, x1, ty_Ordering)
new_lt22(x0, x1, ty_Char)
new_lt14(x0, x1)
new_mkBalBranch(x0, x1, x2, x3, x4, x5)
new_ltEs19(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Char)
new_esEs39(x0, x1, app(ty_[], x2))
new_pePe(False, x0)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_esEs36(x0, x1, ty_Ordering)
new_lt23(x0, x1, ty_Ordering)
new_esEs34(x0, x1, app(app(ty_Either, x2), x3))
new_mkBalBranch6MkBalBranch5(x0, x1, x2, x3, False, x4, x5)
new_lt22(x0, x1, app(ty_[], x2))
new_esEs5(x0, x1, ty_Char)
new_esEs13(Left(x0), Left(x1), ty_@0, x2)
new_esEs10(x0, x1, ty_Ordering)
new_compare31(x0, x1, ty_Ordering)
new_esEs33(x0, x1, app(app(ty_@2, x2), x3))
new_esEs40(x0, x1, ty_Double)
new_esEs39(x0, x1, ty_Float)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs13(Left(x0), Left(x1), ty_Double, x2)
new_esEs10(x0, x1, ty_Char)
new_esEs5(x0, x1, app(ty_Maybe, x2))
new_addToFM_C10(x0, x1, x2, x3, x4, x5, x6, False, x7, x8)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_gt14(x0, x1, ty_Double)
new_esEs39(x0, x1, ty_Bool)
new_ltEs20(x0, x1, ty_Ordering)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_lt7(x0, x1, ty_Int)
new_ltEs23(x0, x1, app(ty_Maybe, x2))
new_lt22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(x0, x1, ty_Integer)
new_esEs31(x0, x1, ty_@0)
new_esEs34(x0, x1, app(ty_[], x2))
new_ltEs22(x0, x1, ty_Char)
new_lt24(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_Bool)
new_lt26(x0, x1, ty_Bool)
new_lt26(x0, x1, app(app(ty_Either, x2), x3))
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(x0, x1, ty_Ordering)
new_gt(x0, x1, app(ty_[], x2))
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1, ty_Ordering)
new_lt12(x0, x1)
new_gt4(x0, x1)
new_mkVBalBranch3MkVBalBranch10(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, True, x12, x13)
new_esEs36(x0, x1, app(app(ty_Either, x2), x3))
new_primCompAux00(x0, LT)
new_gt15(x0, x1, ty_Integer)
new_compare31(x0, x1, ty_Float)
new_esEs13(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs21(x0, x1, ty_Integer)
new_ltEs24(x0, x1, ty_Ordering)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_primMulInt(Pos(x0), Pos(x1))
new_compare17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(EQ)
new_esEs21(Float(x0, x1), Float(x2, x3))
new_ltEs18(x0, x1, ty_Integer)
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_lt22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs31(x0, x1, ty_Ordering)
new_esEs40(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, ty_Double)
new_esEs10(x0, x1, ty_@0)
new_ltEs18(x0, x1, ty_Float)
new_compare15(x0, x1, False, x2, x3)
new_gt14(x0, x1, ty_Integer)
new_lt22(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Bool)
new_gt14(x0, x1, app(app(ty_Either, x2), x3))
new_gt14(x0, x1, ty_Bool)
new_lt8(x0, x1, ty_Double)
new_gt(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, ty_Char)
new_lt24(x0, x1, app(ty_Maybe, x2))
new_lt21(x0, x1, ty_Float)
new_compare11(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_esEs26(GT)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, ty_@0)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_splitGT20(x0, x1, x2, x3, x4, x5, False, x6, x7)
new_ltEs20(x0, x1, ty_Int)
new_splitGT30(x0, x1, x2, x3, x4, x5, x6, x7)
new_esEs33(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(x0, x1, ty_Double)
new_ltEs12(x0, x1)
new_primPlusNat0(Succ(x0), Zero)
new_compare29(@2(x0, x1), @2(x2, x3), x4, x5)
new_compare18(LT, EQ)
new_compare18(EQ, LT)
new_esEs34(x0, x1, ty_Int)
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_mkBalBranch6MkBalBranch4(x0, x1, Branch(x2, x3, x4, x5, x6), x7, True, x8, x9)
new_ltEs18(x0, x1, ty_Int)
new_esEs30(x0, x1, ty_Bool)
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_esEs35(x0, x1, app(app(ty_@2, x2), x3))
new_sIZE_RATIO
new_lt13(x0, x1, x2, x3)
new_sizeFM0(EmptyFM, x0, x1)
new_lt23(x0, x1, ty_Int)
new_lt7(x0, x1, ty_Char)
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_esEs6(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs19(EQ, GT)
new_esEs19(GT, EQ)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, ty_Bool)
new_esEs32(x0, x1, ty_Ordering)
new_primPlusNat0(Zero, Succ(x0))
new_lt7(x0, x1, ty_Double)
new_ltEs24(x0, x1, ty_Int)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_mkBalBranch6MkBalBranch4(x0, x1, EmptyFM, x2, True, x3, x4)
new_ltEs6(LT, GT)
new_ltEs6(GT, LT)
new_compare25(x0, x1, True, x2, x3)
new_esEs9(x0, x1, ty_Float)
new_gt(x0, x1, ty_@0)
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_compare211(x0, x1, False, x2, x3)
new_lt22(x0, x1, ty_Double)
new_lt20(x0, x1, ty_Ordering)
new_esEs5(x0, x1, ty_@0)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs41(GT)
new_gt2(x0, x1, x2, x3)
new_esEs8(x0, x1, ty_Float)
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_esEs13(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs16(x0, x1)
new_lt25(x0, x1, app(ty_[], x2))
new_gt15(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_emptyFM(x0, x1)
new_esEs10(x0, x1, ty_Int)
new_compare18(GT, LT)
new_compare18(LT, GT)
new_gt0(x0, x1, x2)
new_lt24(x0, x1, ty_@0)
new_esEs36(x0, x1, ty_Int)
new_esEs39(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_gt(x0, x1, ty_Bool)
new_esEs20(False, True)
new_esEs20(True, False)
new_ltEs24(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_Char)
new_esEs33(x0, x1, ty_Integer)
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs18(Double(x0, x1), Double(x2, x3))
new_esEs9(x0, x1, ty_Ordering)
new_gt15(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, ty_@0)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs39(x0, x1, ty_Ordering)
new_primPlusNat0(Zero, Zero)
new_pePe(True, x0)
new_ltEs22(x0, x1, ty_Float)
new_esEs29(x0, x1, ty_Integer)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs31(x0, x1, ty_Bool)
new_esEs5(x0, x1, ty_Int)
new_esEs35(x0, x1, app(app(ty_Either, x2), x3))
new_esEs36(x0, x1, ty_Integer)
new_splitLT30(x0, x1, x2, x3, x4, x5, x6, x7)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs29(x0, x1, ty_Int)
new_gt5(x0, x1, x2)
new_lt20(x0, x1, ty_Char)
new_compare19(Float(x0, x1), Float(x2, x3))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_addToFM_C0(EmptyFM, x0, x1, x2, x3)
new_esEs34(x0, x1, ty_Integer)
new_gt(x0, x1, app(ty_Maybe, x2))
new_lt24(x0, x1, app(ty_[], x2))
new_ltEs23(x0, x1, app(app(ty_@2, x2), x3))
new_lt7(x0, x1, ty_Bool)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_esEs31(x0, x1, ty_Float)
new_gt(x0, x1, ty_Ordering)
new_esEs41(EQ)
new_esEs35(x0, x1, ty_Char)
new_esEs11(x0, x1, ty_Integer)
new_ltEs22(x0, x1, ty_@0)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_esEs36(x0, x1, ty_Bool)
new_esEs34(x0, x1, ty_Double)
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_esEs13(Right(x0), Right(x1), x2, ty_Double)
new_ltEs21(x0, x1, ty_Double)
new_lt23(x0, x1, ty_Float)
new_esEs4(x0, x1, ty_Ordering)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_ltEs23(x0, x1, app(ty_Ratio, x2))
new_esEs12(Just(x0), Just(x1), ty_@0)
new_compare31(x0, x1, ty_Double)
new_esEs35(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Ordering)
new_esEs13(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs18(x0, x1, ty_@0)
new_esEs40(x0, x1, ty_Float)
new_lt22(x0, x1, ty_Integer)
new_esEs39(x0, x1, ty_Int)
new_esEs11(x0, x1, ty_Double)
new_ltEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_ltEs13(Just(x0), Nothing, x1)
new_lt22(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs35(x0, x1, app(ty_Maybe, x2))
new_esEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(x0, x1, ty_Float)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_esEs32(x0, x1, ty_Double)
new_lt25(x0, x1, ty_Int)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_lt26(x0, x1, ty_Int)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_lt23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare14(x0, x1, False, x2, x3)
new_gt15(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs22(x0, x1, ty_Integer)
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_gt14(x0, x1, ty_Char)
new_ltEs22(x0, x1, ty_Ordering)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs4(x0, x1, ty_@0)
new_sr1(Pos(x0))
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_compare28(Just(x0), Nothing, x1)
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_compare28(Nothing, Nothing, x0)
new_esEs13(Right(x0), Right(x1), x2, ty_Bool)
new_splitGT0(EmptyFM, x0, x1, x2)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs36(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, ty_Float)
new_primMulNat0(Zero, Succ(x0))
new_ltEs23(x0, x1, ty_Float)
new_primPlusInt(Pos(x0), Neg(x1))
new_primPlusInt(Neg(x0), Pos(x1))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_lt17(x0, x1)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_gt10(x0, x1)
new_lt7(x0, x1, ty_Float)
new_esEs32(x0, x1, ty_Integer)
new_primPlusInt(Neg(x0), Neg(x1))
new_ltEs13(Just(x0), Just(x1), ty_Int)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, ty_Double)
new_esEs11(x0, x1, ty_Char)
new_esEs7(x0, x1, ty_Bool)
new_esEs40(x0, x1, ty_Char)
new_esEs36(x0, x1, app(ty_[], x2))
new_ltEs6(GT, GT)
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_esEs34(x0, x1, ty_Ordering)
new_esEs4(x0, x1, ty_Char)
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_compare25(x0, x1, False, x2, x3)
new_mkBranch0(x0, x1, x2, x3, x4, x5, x6)
new_esEs33(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_sr1(Neg(x0))
new_gt3(x0, x1)
new_ltEs23(x0, x1, ty_Integer)
new_esEs5(x0, x1, app(ty_Ratio, x2))
new_compare111(x0, x1, x2, x3, True, x4, x5)
new_esEs9(x0, x1, app(ty_[], x2))
new_ltEs13(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs23(Char(x0), Char(x1))
new_lt24(x0, x1, ty_Ordering)
new_gt15(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, ty_@0)
new_primCmpNat0(Succ(x0), Zero)
new_compare31(x0, x1, ty_Char)
new_gt14(x0, x1, ty_@0)
new_primCmpNat0(Zero, Zero)
new_lt26(x0, x1, ty_Float)
new_compare16(Right(x0), Left(x1), x2, x3)
new_compare16(Left(x0), Right(x1), x2, x3)
new_mkBranch1(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)
new_gt7(x0, x1)
new_lt8(x0, x1, ty_Bool)
new_compare10(x0, x1, x2, x3, x4, x5, True, x6, x7, x8, x9)
new_ltEs19(x0, x1, ty_Float)
new_lt25(x0, x1, ty_Integer)
new_esEs13(Right(x0), Left(x1), x2, x3)
new_esEs13(Left(x0), Right(x1), x2, x3)
new_lt7(x0, x1, ty_Integer)
new_esEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt25(x0, x1, app(ty_Ratio, x2))
new_esEs7(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), ty_Char)
new_gt12(x0, x1)
new_lt25(x0, x1, ty_Float)
new_esEs35(x0, x1, ty_Double)
new_esEs37(x0, x1, ty_Int)
new_gt(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, ty_Integer)
new_esEs38(x0, x1, ty_Int)
new_lt23(x0, x1, ty_Char)
new_gt14(x0, x1, app(app(ty_@2, x2), x3))
new_lt26(x0, x1, ty_Double)
new_mkBalBranch6MkBalBranch3(x0, x1, x2, x3, False, x4, x5)
new_esEs40(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs24(x0, x1, app(ty_Maybe, x2))
new_ltEs22(x0, x1, ty_Double)
new_ltEs24(x0, x1, app(ty_[], x2))
new_esEs19(EQ, EQ)
new_mkVBalBranch3MkVBalBranch20(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, True, x12, x13)
new_ltEs21(x0, x1, ty_@0)
new_mkVBalBranch3MkVBalBranch10(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, False, x12, x13)
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_compare16(Left(x0), Left(x1), x2, x3)
new_esEs41(LT)
new_compare211(x0, x1, True, x2, x3)
new_esEs13(Right(x0), Right(x1), x2, ty_Integer)
new_esEs12(Nothing, Nothing, x0)
new_esEs17(Integer(x0), Integer(x1))
new_mkBalBranch6MkBalBranch3(x0, x1, x2, EmptyFM, True, x3, x4)
new_compare18(EQ, GT)
new_compare18(GT, EQ)
new_gt(x0, x1, ty_Double)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_ltEs14(x0, x1)
new_compare31(x0, x1, ty_Int)
new_esEs40(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Float)
new_sizeFM0(Branch(x0, x1, x2, x3, x4), x5, x6)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_ltEs24(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_@0)
new_esEs40(x0, x1, ty_Int)
new_esEs19(GT, LT)
new_esEs19(LT, GT)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_ltEs24(x0, x1, ty_@0)
new_gt14(x0, x1, app(ty_Ratio, x2))
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs13(Just(x0), Just(x1), ty_Ordering)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_gt(x0, x1, ty_Char)
new_esEs13(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs36(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs16(x0, x1)
new_lt4(x0, x1, x2)
new_esEs5(x0, x1, app(ty_[], x2))
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_lt8(x0, x1, ty_Float)
new_ltEs13(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt25(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs15(:(x0, x1), :(x2, x3), x4)
new_esEs7(x0, x1, ty_Ordering)
new_addToFM_C0(Branch(x0, x1, x2, x3, x4), x5, x6, x7, x8)
new_lt21(x0, x1, ty_Int)
new_esEs13(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs30(x0, x1, ty_Char)
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Double)
new_lt22(x0, x1, ty_Int)
new_lt7(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs21(x0, x1, ty_Char)
new_esEs9(x0, x1, ty_Int)
new_esEs29(x0, x1, ty_Double)
new_ltEs13(Nothing, Nothing, x0)
new_lt11(x0, x1)
new_gt(x0, x1, app(app(ty_@2, x2), x3))
new_gt15(x0, x1, ty_@0)
new_ltEs23(x0, x1, ty_Ordering)
new_compare210(x0, x1, x2, x3, True, x4, x5)
new_esEs12(Just(x0), Nothing, x1)
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs31(x0, x1, ty_Int)
new_lt8(x0, x1, app(ty_Ratio, x2))
new_compare26(x0, x1, False, x2)
new_ltEs19(x0, x1, ty_Int)
new_mkBalBranch6Size_r(x0, x1, x2, x3, x4, x5)
new_esEs6(x0, x1, ty_Char)
new_lt26(x0, x1, ty_@0)
new_compare18(EQ, EQ)
new_esEs36(x0, x1, ty_Double)
new_esEs10(x0, x1, ty_Double)
new_esEs6(x0, x1, ty_Int)
new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, x6, x7, True, x8, x9)
new_primCompAux00(x0, GT)
new_esEs10(x0, x1, ty_Integer)
new_esEs5(x0, x1, ty_Integer)
new_compare16(Right(x0), Right(x1), x2, x3)
new_lt19(x0, x1)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_gt15(x0, x1, ty_Float)
new_lt26(x0, x1, app(app(ty_@2, x2), x3))
new_compare8(Integer(x0), Integer(x1))
new_lt26(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_lt9(x0, x1, x2, x3, x4)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_gt9(x0, x1)
new_asAs(True, x0)
new_lt24(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs23(x0, x1, ty_Double)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_lt21(x0, x1, app(ty_Ratio, x2))
new_ltEs13(Just(x0), Just(x1), ty_Double)
new_lt21(x0, x1, ty_Integer)
new_esEs13(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs24(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_mkVBalBranch0(x0, x1, EmptyFM, x2, x3, x4)
new_fsEs(x0)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs: